Comunidad de diseño web y desarrollo en internet online

¿if entre movieclips?

Citar            
MensajeEscrito el 02 Nov 2011 08:57 am
Hola !

Tengo un movieclip dentro de la linea de tiempo principal y quiero hacer un if dentro de el que cuando ese movieclip llegue al fotograma 100 la linea de tiempo principal avance al 3, parece una tontería pero pruebo mil formas y nada, no doy con la sintaxis correcta :(

Un saludo y gracias!

Por Sergi0

42 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Nov 2011 09:08 am
Dejo uno de los "inventos" que he probado:

if (MovieClip(this) = 100){
MovieClip(this.parent).gotoAndPlay(3)
}

Da error pero así igual se entiende mejor lo que quiero hacer. ;)

Por Sergi0

42 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Nov 2011 05:05 pm
Hay 2 formas, una es esperar a q tire un evento (ej: "llegue al frame 100!") y otra es agregarle un evento enter_frame y dentro de el validar si esta en el frame 100.

esto seria dentro del frame 100 del mc

Código ActionScript :

const LLEGUE:String = "llegue al frame 100!";
dispatchEvent(new Event(LLEGUE));
/**/


Esto en el parent del mc

Código ActionScript :

mc.addEventListener(mc.LLEGUE, handlerLlego);
function handlerLlego(e:Event):void
{
   mc.removeEventListener(mc.LLEGUE, handlerLlego);
   gotoAndPlay(3);
}/**/


opcion 2:
esto en el parent del mc

Código ActionScript :

mc.addEventListener(Event.ENTER_FRAME, handlerEnterframe); 
function handlerEnterframe(e:Event):void 
{ 
     if (e.target.currentFrame == 100) 
     { 
           e.target.removeEventListener(Event.ENTER_FRAME, handlerEnterframe);
          (e.target.parent as MovieClip).gotoAndPlay(3); 
     } 
}/**/ 



abz


eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

firefox
Citar            
MensajeEscrito el 02 Nov 2011 05:06 pm
en la opcion 2 esto "(e.target.parent as MovieClip)." se puede eliminar, ya q ya estamos dentro del parent.

eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

firefox
Citar            
MensajeEscrito el 02 Nov 2011 10:05 pm
Ya pensé en eso del enterframe pero como tampoco lo conseguía al final tire por otro camino, convertí el avance del movieclip en un timer de tal manera que el timer acababa en ese fotograma que yo quería.

Código ActionScript :

var timer_recoger_marco:Timer = new Timer (25,50)
timer_recoger_marco.addEventListener (TimerEvent.TIMER, recoger_marco)
function recoger_marco (TimerEvent){
MovieClip(this).nextFrame ()
}


y después lo subscibi a un evento de cuando..."timercomplete" haz "esta función"...

Código ActionScript :

timer_recoger_marco.addEventListener (TimerEvent.TIMER_COMPLETE, ir_a_Cat)


y en la función le referencio el parent:

Código ActionScript :

function ir_a_Cat (TimerEvent){
MovieClip(this.parent).gotoAndPlay(3)


Muchas gracias de todos modos ;)

Por Sergi0

42 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Nov 2011 10:16 pm
Tu método primero me ha gustado, igual lo modifico y lo hago de esa forma ;)

Por Sergi0

42 de clabLevel



 

firefox

 

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