![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2011
Сообщений: 100
|
Здравствуйте.
Подскажите пожалуйста. Есть текстовая анимация, в которой текст появляется слева направо и через несколько секунд буквы разлетаются начиная с последнего символа. Вопрос заключается в следующем: - Пожалуйста подскажите, что мне нужно изменить в коде, чтоб буквы разлетались начиная с первого символа? Вот код 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; } } но какие именно изменения нужно внести не понимаю ![]() Последний раз редактировалось Isaac; 22.09.2011 в 15:29. |
![]() |
Часовой пояс GMT +4, время: 09:01. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| textfield , tweenMax |
|
|