Ciao a tutti! da una ricerca in rete ho notato che molti come me hanno problemi con la classe tween (fl.transitions.tween).
La maggior parte dei problemi si rivelano con un tween.interructus(!) (l'animazione non termina o avvolte lo fa e altre no, altre a metà ecc, ecc).
Cercando un pò o trovato il motivo e la soluzione:
questo è il link in italiano dove spiega i motivi (da profano e autodidatto AS3 non mi è tutto chiaro ma il suggerimento funziona!)
http://www.actionscript.it/forum/showthread.php?t=16112
il mio codice modificato e funzionante dopo la correzione (non posto il "prima" della correzione perchè le differenze intorno a una normale dichiarazione di metodo sono evidenti) è questo:
package {
import fl.transitions.Transition;
import fl.transitions.TweenEvent;
import flash.display.Sprite;
import flash.display.SimpleButton;
import flash.events.Event;
import flash.events.EventDispatcher;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import flash.events.MouseEvent;
public class pulsanteCiak extends SimpleButton{
public function pulsanteCiak() {
onEnterCiak();
}
private var enterCiak:fl.transitions.Tween; private function onEnterCiak():void
{
trace("Entra il ciak");
enterCiak = new Tween(this, "y", Strong.easeOut, -240, 225, 3, true);
addEventListener(MouseEvent.CLICK, downCiak);
}
private function downCiak(event:MouseEvent):void
{
trace("Cliccato, lancio goGoCiak!");
goGoCiak(); //uscita ciak
//enterCameraman(); //entrata cameraman
//enterFausto();//entrata Fausto
//enterFrame();// entrata Frame superiore
}
private var exitCiak:fl.transitions.Tween; private function goGoCiak():void
{
trace("ciak parte, Parte!");
exitCiak = new Tween(this, "x", Strong.easeOut, 350, -350, 1, true);
exitCiak.addEventListener(TweenEvent.MOTION_FINISH , removeCiak);
}
private function removeCiak(event:TweenEvent):void
{
trace("Ciak è arrivato e lo tolgo!");
visible = false;
}
}
}
Ripeto: sono autodidatta e inesperto, quindi aspetto anche suggerimenti da chi nota qualche miglioramento possibile.
Comunque così FUNZIONA!!!!!![]()
![]()
![]()

Rispondi quotando