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
