Comunidad de diseño web y desarrollo en internet online

Como controlar un swf desde otro swf

Citar            
MensajeEscrito el 12 Abr 2007 12:22 am
Pues basicamente necesito controlar un swf con botones de pausa, play y stop, pero no tengo idea de como hacerlo, esta demas decir que soy novato en el mundo del flash y el actionscript, espero que alguien me pueda ayudar, se lo agradecere muchisimo, ojala exista algun tutorial o alguna duda similar a la mia, si alguien sabe, help!!!


Saludos y muchas gracias.

Por ikether

1 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 12 Abr 2007 01:38 am
Carga el segundo .swf con loadMovie() dentro de un MovieClip vacio. Luego si quieres para el swf pones: movieclip.stop(); y listo

Por Zguillez

BOFH

10744 de clabLevel

85 tutoriales
17 articulos
3 ejemplos

Genero:Masculino   Bastard Operators From Hell Héroes Team Cristalab Editores

BCN

opera
Citar            
MensajeEscrito el 12 Abr 2007 01:48 am
ZGuillez, gracias por la respuesta pero la intencion es poner algo asi como el MediaController de los componentes de Flash para controlar Video... no se si me explique, lo que necesitaria es que en el momento de darle click en el boton de pausar, este se detuviere y si vuelvo a dar click nuevamente comenzara la marcha en el punto exacto donde se detuvo, principlamente seria eso, con la instruccion que amablemente me pasaste, es posible nuevamente reanudar el mc?


Gracias nuevamente!

Por ikether

1 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 12 Abr 2007 02:44 am
Si tu pelicula es un swf tendrias que hacer otro swf que la cargue y controle, en la cual van a estar los botones de play/pause, stop y la barrita.
En este ejemplo controlamos a caja_mc, una animacion, pero te sirve tambien si es un swf cargado por loadMovie. (tal vez haya que cambiar algo, pero minimo)

Supongamos que la pelicula se carga en el mc llamado "caja_mc" (sin comillas) crearemos un mc llamado "controles" donde estaran los botones y la barrita.

Controles:

Hacemos un MC llamado "controles" en el cual iran los botones de play y pause, la barrita con la que controlas la reproduccion.
Al boton de play lo llamaremos "btn_play", al de pause "btn_pause" y a la barrita "pos_mc".
Los pixeles que recorra la barra estan especificados en el codigo (dice 200, pero lo podes cambiar)

MC a controlar:
Una animacion cualquiera

Funcionamiento:
Cuando se le hace click a la barra se para la reproduccion de la pelicula.
Al soltarla se toma en que posicion esta (tanto % del total) y se le da gotoAndStop a la pelicula a controlar a un fotograma determinado.

Al presionar play se le da gotoAndPlay a la pelicula.
Al presionar pause se le da stop a la pelicula.

Ademas para que la barrita se vaya moviendo conforme a la reproduccion de la pelicula se hace un OnEnterFrame, en el cual se toma el porcentaje reproducido de la pelicula y se pone la barrita en ese porcentaje del recorrido.

Tal vez la explicacion no te aclaro las cosas, por eso aca esta el codigo:

Código :

//Definimos algunas variables
//Esta es la cantidad de pixeles que tiene de recorrido
_root.controles.pos_mc.maxx = 200;
//Le ponemos stop a caja_mc (el visor)
_root.caja_mc.stop();
//Obtenemos la posicion x de la barrita
_root.controles.pos_mc.startx = _root.controles.pos_mc._x;
//Esta variable nos dice si se debe mover la barra
_root.refrsh_barra = false;


//***************************************************************
//***************************************************************
//***************************************************************
//Funciones
//Funcion que se efectua al soltar la barrita
soltar_barra = function () {
   //Obtenemos cuanto se movio
   lugar = _root.controles.pos_mc._x-_root.controles.pos_mc.startx;
   //Sacamos el porcentaje
   porcent = lugar*100/_root.controles.pos_mc.maxx;
   trace(porcent);
   //Paramos el drag
   stopDrag();
   //Ponemos la pelicula donde debe estar
   fot = Math.floor(porcent*_root.caja_mc._totalframes/100);
   _root.caja_mc.gotoAndStop(fot);
};
//Al presionar el boton
_root.controles.pos_mc.onPress = function() {
   //Hacemos que se mueva la barrita
   startDrag(this, true, 0, 0, _root.controles.pos_mc.maxx, 0);
   //   Y que se deje de reproducir caja_mc
   _root.stop_movie();
};
act_barra = function () {
   if (_root.refrsh_barra) {
      var porcent:Number = _root.caja_mc._currentframe/_root.caja_mc._totalframes;
      _root.controles.pos_mc._x = _root.controles.pos_mc.startx+Math.floor(_root.controles.pos_mc.maxx*porcent);
      trace(_root.caja_mc._currentframe);
   }
};
//Funcion que se encarga de pausar la pelicula
stop_movie = function () {
   //Paramos la reproduccion de la pelicula
   _root.caja_mc.stop();
   //Paramos cualquier sonido
   stopAllSounds();
   //Hacemos que la barra no se quede donde esta la pelicula
   _root.refrsh_barra = false;
};
//Al soltar o soltar afuera de la barrita llama a la funcion soltar_barra
_root.controles.pos_mc.onRelease = soltar_barra;
_root.controles.pos_mc.onReleaseOutside = soltar_barra;
_root.caja_mc.onEnterFrame = act_barra;


//***************************************************************
//***************************************************************
//***************************************************************
//Botones de play y pause

_root.controles.btn_play.onRelease = function() {
   //Reproducimos la pelicula desde donde estaba
   _root.caja_mc.gotoAndPlay(_root.caja_mc._currentframe);
   //Hacemos que la barra indique la posicion de la pelicula
   _root.refrsh_barra = true;
};
_root.controles.btn_pause.onRelease = function() {
   //Paramos la reproduccion de la pelicula
   _root.caja_mc.stop();
   //Paramos cualquier sonido
   stopAllSounds();
   //Hacemos que la barra indique la posicion de la pelicula
   _root.refrsh_barra = false;
};


:?
Si tu reaccion fue esta te podes fijar el .fla aca

:? :? :? :? :? :?

Si tu reaccion fue esa despues de ver el fla, pregunta aqui, alguien te sabra ayudar.

Esper que te sirva. Suerte. :cool:

Por Nandonet

82 de clabLevel



Genero:Masculino  

No me despierten, estoy ocupado

msie
Citar            
MensajeEscrito el 12 Abr 2007 02:34 pm
Muchisimas gracias Nandonet, por lo que he leido y visto con el .fla que amablemente colgaste en la red, pues creo que si me ayudara bastante, voy a probarlo y ya les contare!

Nuevamente gracias!!!

Por ikether

1 de clabLevel



Genero:Masculino  

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.