mx.effects.Tween nutzen

Möchte man z.B. eine eigene kleine Komponente entwickeln und dafür aber keine Fremd-Bibliotheken wie etwa TweenMax verwenden, empfiehlt es sich auf die Adobe hauseigenen Werkzeuge zurückzugreifen.
Doch findet man die gewohnte Adobe-Klasse mx.transitions.Tween nicht im Flex SDK. Es gibt aber die Klasse mx.effects.Tween. Wie diese zu nutzen ist, möchte ich euch gerne anhand eines kleines Beispieles zeigen.


private function init() : void
{
   var myTween : Tween;

   myTween = new Tween(_myObject, [_myObject.alpha.x, _myObject.alpha], [100, 0.0], 200);
   myTween.easingFunction = Linear.easeOut;
   myTween.setTweenHandlers(updateTween, endTween);
}

private function updateTween(vals : Array) : void
{
   _myObject.x = vals[0];
   _myObject.alpha = vals[1];
}

private function endTween(vals : Array) : void
{
   _myObject.x = vals[0];
   _myObject.alpha = vals[1];
}

Man gibt beim Instantisieren sozusagen das Objekt, ein Array von Startwerten, ein Array von Endwerten und die Zeit in Millisekunden an.
Dann noch die easing-Funktion angeben und die Event-Funktionen. Das war’s.

Falls Ihr ein Objekt ansprechen wollt und die Möglichkeit besteht, dass der vorherige Tween noch läuft,  solltet Ihr diesen vorher stoppen mit

myTween.stop();

Ist zwar nicht die beste Art mit solch einem Werkzeug ein Tween zu erstellen, aber für kleinere Aufgaben – wie etwa ein Objekt auszublenden – ausreichend. Ich benutzte ihn z.B. für mein Tool-Framework.

Flex 3.5 Hilfe: http://livedocs.adobe.com/flex/3/langref/mx/effects/Tween.html

Kommentar schreiben

    Warum diese Frage?