Текстовая анимация в TweenMax
Здравствуйте.
Подскажите пожалуйста.
Есть текстовая анимация, в которой текст появляется слева направо и через несколько секунд буквы разлетаются начиная с последнего символа.
Вопрос заключается в следующем:
- Пожалуйста подскажите, что мне нужно изменить в коде, чтоб буквы разлетались начиная с первого символа?
Вот код
Код AS3:
import flash.geom.Rectangle;
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.utils.Timer;
import flash.events.TimerEvent;
import com.greensock.TweenLite;
import com.greensock.easing.Circ;
import com.greensock.OverwriteManager;
import com.greensock.plugins.TweenPlugin;
import com.greensock.plugins.BlurFilterPlugin;
TweenPlugin.activate([BlurFilterPlugin]);
// properties
var titleTime:Number = 12; // total time to display each string be sure to allow enough time for wind to finish
var tfX:Number = 30; // x position of tf on stage
var tfY:Number = 100; // y position of tf on stage
var holdDuration:Number = 5; // time between fade in and wind
var fadeDuration:Number = 2; // fade rate
var fadeDelay:Number = 0.03; // per letter delay to fade... set to 0 to fade all at once
var windDuration:Number = 1.2; // duration of wind effect
var windDelay:Number = 0.1; // per letter delay for wind effect
// strings - define your text here (sorry no htmltext)
var strings:Array = new Array();
strings[0] = 'vulputate, massa magna interdum nisi,';
strings[1] = 'celementum in rhoncus commodo, faucibus ac risus. Maecenas viv';
strings[2] = 'Proin sit amet placerat metus. Ut tempus malesuada erat et facilisis.';
var tsprite:Sprite = new Sprite();
tsprite.x = tfX;
tsprite.y = tfY;
tsprite.mouseChildren = false;
this.addChild(tsprite);
srctxt.visible = false;
OverwriteManager.init(OverwriteManager.AUTO);
// do the first one... rest are handled by the timer
srctxt.text = strings[0];
generateTF();
var timer:Timer = new Timer(titleTime*1000,strings.length-1);
timer.addEventListener(TimerEvent.TIMER,updater);
timer.start();
function updater(event:TimerEvent):void {
srctxt.text = strings[timer.currentCount];
generateTF();
}
function generateTF():void {
while(tsprite.numChildren > 0) {
tsprite.removeChildAt(0)
}
var tfl:Number = srctxt.length;
for(var i:int = 0; i < tfl-1; ++i) {
var atf:TextField = new TextField();
var c:Sprite = new Sprite();
atf.embedFonts = true;
atf.selectable = false;
atf.text = srctxt.text.charAt(i);
atf.setTextFormat(srctxt.getTextFormat());
var charPosition:Rectangle = srctxt.getCharBoundaries(i);
c.x = charPosition.x;
c.y = charPosition.y;
c.alpha = 0;
c.addChild(atf);
tsprite.addChild(c);
}
animateTF();
}
function animateTF():void {
var nc:Number = tsprite.numChildren;
var fdelay:Number = 0;
var wdelay:Number = 0;
for (var i:int = 0; i < nc ; ++i) {
TweenLite.to(tsprite.getChildAt(i),fadeDuration,{alpha: 1, delay:fdelay});
fdelay += fadeDelay;
TweenLite.to(tsprite.getChildAt((nc-1)-i),windDuration,{
alpha: 0,
rotation: (Math.random() * 100) - 50,
y: -100,
x: Math.random() * stage.stageWidth,
blurFilter:{blurX: 4, blurY: 4},
ease:Circ.easeIn,
delay:holdDuration + wdelay
});
wdelay += windDelay;
}
}
Я так подозреваю, что всего лишь нужно изменить вот эту строчку
Код AS3:
TweenLite.to(tsprite.getChildAt((nc-1)-i),windDuration,{
но какие именно изменения нужно внести не понимаю :(
|