Comunidad de diseño web y desarrollo en internet online

onComplete + caurina

Citar            
MensajeEscrito el 07 Feb 2008 11:57 pm
Hola! Les comento lo que me sucede.
Quiero llamar a una funcion cuando termina un Tween. El problema es que me llama a la funcion apenas empieza el tween y no al final. Aca le dejo el codigo.

Código :

import caurina.transitions.Tweener;

Tweener.addTween(algo_mc, {x: 400, y:400, time:5, transition:"linear", onComplete: hacerTrace("listo")});
function hacerTrace(algo:String):void{
   trace(algo);
}


Ya que estamos para no hacer otro post les consulto una duda "conceptual" que tengo.
Si yo "attacheo" (muy as2 pero bue... la costumbre) un movieclip usando "getDefinitionByName", como puedo eliminarlo? con removeChild?
Hago esta pregunta porque no se si removeChild realmente elimina el objeto de la memoria o solo de la lista de visualizacion. Si solo lo saca de la lista de visualizacion, se puede eliminar por completo?

Desde ya muchas gracias!

Por GustavoV

Claber

136 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 08 Feb 2008 12:24 am
Hola Gustavo,
si te fijas en la documentación de Tweener, si quieres llamar a una función al terminar un evento has de pasar el nombre de dicha función, pero tú la estás invocando directamente, ya que le pones los paréntesis.

El código quedaría:

Código :

Tweener.addTween(algo_mc, {x: 400, y:400, time:5, transition:"linear", onComplete: hacerTrace});
function hacerTrace():void{
   trace("algo");
}

Como puedes ver te he quitado el parámetro, ya que veo que en este caso no es útil. La finalidad del onComplete es avisar que el tween ha terminado, así que no le veo sentido pasar parámetros. De todas maneras, lo podrías hacer con la siguiente sintaxis:

Código :

Tweener.addTween(algo_mc, {x: 400, y:400, time:5, transition:"linear", onComplete:function(){ hacerTrace("algo")}});


En cuanto a tu segunda pregunta, removeChild efectivamente sólo quita el objeto de la lista de visualización. Para eliminarlo por completo deberás igualarlo a null, y asegurarte que no queda ninguna referencia a él, como un listener, por ejemplo.

Un saludo.

Por llops

294 de clabLevel

1 tutorial

 

Barcelona

firefox
Citar            
MensajeEscrito el 08 Feb 2008 12:52 am
Muchas Gracias llops!!!

Por GustavoV

Claber

136 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 08 Feb 2008 11:14 am
Si quieres pasarle parámetros a otra función cuando acabe puedes añadirle también el parámetro onCompleteParams, ese parámetro ha de ser una matriz, por lo que le podrías pasar tantos como quisieras, te quedaría la llamada al addTween tal que así:

Código :

Tweener.addTween(algo_mc, {x: 400, y:400, time:5, transition:"linear", onComplete: hacerTrace,onCompleteParams:["Para una vida más fácil usa Tweener"]});


Un saludo y espero que te sirva.
Ximo

Por ximo

3 de clabLevel



Genero:Masculino  

firefox

 

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