|
|
|||||
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
ну, первое что приходит в голову, задать заранее номера индексов, для которых нужно создать текст другого цвета, и когда цикл доходит до них, просто задает текстфилду другой цвет. Хз, на сколько этот вариант хорош, но пока ничего другого в голову не идет
|
|
|||||
Регистрация: Aug 2011
Сообщений: 100
|
Цитата:
Ведь мне нужно применять альфа для каждой буквы по-отдельности, а не для вссего массива. нужно поочередно выводить каждую букву с альфа 0 до альфа 1 |
|
|||||
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Чтобы превратить строку в массив отдельных символов, достаточно вызывать у нее метод split();
|
|
|||||
Регистрация: Aug 2011
Сообщений: 100
|
Цитата:
Вот я сделал private var message1:String = "54321 BOOM!!!"; private var textArray:Array = message1.split(" "); private function addText():void { txtFrt = new TextFormat(); txtFrt.font = "Arial"; txtFrt.bold = true; txtFrt.size = 20; txt1 = new TextField(); txt1.x = 200; txt1.y = 50; txt1.width = 300; txt1.alpha = 1; txt1.text = message1; txt1.setTextFormat(txtFrt); //addChild(txt1); for(var i:int = 0; i < textArray.length; i ++) { trace(textArray[i].charAt(i)) } } |
|
|||||
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Нет, я имел в виду другое.
package { import caurina.transitions.Tweener; import flash.display.Sprite; import flash.events.Event; import flash.text.TextField; import flash.text.TextFieldAutoSize; /** * ... * @author goodguy */ public class TextAdder extends Sprite { private var _stringToShow: String = "Эта строка будет разбита и показана побуквенно"; private var _stringContainer: Sprite = new Sprite(); public function TextAdder() { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); addChild(_stringContainer); var lettersArray: Array = _stringToShow.split(""); var arrayLength: int = lettersArray.length; for (var i:int = 0; i < arrayLength; i++) { var tf:TextField = new TextField(); tf.autoSize = TextFieldAutoSize.LEFT; tf.text = lettersArray[i]; tf.alpha = 0; _stringContainer.addChild(tf); if (i > 0) { var previousTf:TextField = TextField(_stringContainer.getChildAt(i - 1)); tf.x = previousTf.x + previousTf.textWidth; } Tweener.addTween(tf, { time: 1 + i / 10, transition: "easeInExpo", alpha: 1 } ); } } } } Строка появляется побуквенно. Примитивный вариант Последний раз редактировалось goodguy; 25.09.2011 в 17:27. |
|
|||||
Регистрация: Aug 2011
Сообщений: 100
|
Цитата:
|
Часовой пояс GMT +4, время: 03:56. |
|
« Предыдущая тема | Следующая тема » |
Теги |
alpha , textfield , tweenMax |
|
|