Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.09.2011, 15:10
Isaac вне форума Посмотреть профиль Отправить личное сообщение для Isaac Найти все сообщения от Isaac
  № 1  
Ответить с цитированием
Isaac

Регистрация: Aug 2011
Сообщений: 100
По умолчанию Текстовая анимация в 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,{
но какие именно изменения нужно внести не понимаю


Последний раз редактировалось Isaac; 22.09.2011 в 15:29.
Старый 22.09.2011, 22:41
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 2  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
http://www.flasher.ru/forum/showthread.php?p=999853

Пост 2 и 5.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 23.09.2011, 18:18
Isaac вне форума Посмотреть профиль Отправить личное сообщение для Isaac Найти все сообщения от Isaac
  № 3  
Ответить с цитированием
Isaac

Регистрация: Aug 2011
Сообщений: 100
Цитата:
Сообщение от dimarik Посмотреть сообщение
Спасибо!

Создать новую тему Ответ Часовой пояс GMT +4, время: 08:04.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
textfield , tweenMax

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 08:04.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.