Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Работа с FlashEff2 (http://www.flasher.ru/forum/showthread.php?t=166058)

Isaac 29.08.2011 16:56

Работа с FlashEff2, применение эффекта к нескольким текстовым полям
 
Кто работал с этой библиотекой подскажите пожалуйста
Есть, код. который делает эффект для текста.
Если я хочу добавить 2 или болеетекстовых полей, к которым поочередно нужно применять этот эффект, как мне сделать?
Пишу цикл, но что-то не работает, все время выхывается только первая строчка
Код AS3:

package
{
 
        import com.jumpeye.Events.FLASHEFFEvents;
        import com.jumpeye.flashEff2.text.emerge.FETEmerge;       
 
        import flash.text.TextFormat;
        import flash.text.TextField;
        import flash.display.MovieClip;
 
        public class EffectText extends MovieClip
        {
                private var count:Number = 0;                                       
 
                public function EffectText()
                {
                        var txtArray:Array = new Array();
 
                        var txtFrt:TextFormat = new TextFormat();
                                txtFrt.font = "Arial";
                                txtFrt.color = 0xFFFFFF;
                                txtFrt.size = 17;                                       
                                txtFrt.letterSpacing = 1;
 
                        var txtFld1:TextField = new TextField();
                                txtFld1.type = "dynamic";
                                txtFld1.width = 300;
                                txtFld1.text = "Bad dicisions\ncatching up with you?";
                                txtFld1.x = 160;
                                txtFld1.y = 27;
                                txtFld1.alpha = 0;
                                txtFld1.setTextFormat(txtFrt);
                                txtArray.push(txtFld1);
                                addChild(txtFld1);
 
                        var txtFld2:TextField = new TextField();
                                txtFld2.type = "dynamic";
                                txtFld2.width = 300;
                                txtFld2.text = "Improve your driving skills\nwith traffic school... Online!";
                                txtFld2.x = 160;
                                txtFld2.y = 27;
                                txtFld2.setTextFormat(txtFrt);
                                txtFld2.alpha = 0;
                                txtArray.push(txtFld2);
                                addChild(txtFld2);
 
 
                        // Create the FlashEff2Code instance and add it to the stage. The FlashEff2Code
                        // component must be in the display list in order for it to work.
                        var effect:FlashEff2Code = new FlashEff2Code();
                        effect.addEventListener(FLASHEFFEvents.TRANSITION_END, replay);
                        addChild(effect);                       
 
                        // Create the show pattern instance (FESBrightSquares) and set it
                        // so the effect looks as you like.
                        var showEffect:FETEmerge = new FETEmerge();
                        showEffect.preset = 1;
                        showEffect.groupDuration = 1.5;
                        showEffect.tweenDuration = 1.5;
 
                        // Create the hide pattern instance (FESEqualizer) and set it
                        // so the effect looks as you like.
                        var hideEffect:FETEmerge = new FETEmerge();
                        hideEffect.preset = 1; // char: random
                        hideEffect.groupDuration = 1.5;
                        hideEffect.tweenDuration = 3;
 
                        // Assign the show and hide transitions to the FlashEff2Code instance.
                        effect.showTransition = showEffect;
                        effect.hideTransition = hideEffect;                       
 
                        // There will be a 3 seconds pause between the show and hide transitions.
                        effect.showDelay = 3;
                        effect.hideDelay = 1;
 
                        // Set the target text field to the FlashEff2Code instance. Once you do this,
                        // the show effect will start immediately (except the case when the
                        // show effect has a delay too).
                        //effect.target = txtFld1;
                        effect.target = txtArray[count];       
 
 
 
 
                        // When the "hide" transition ends, start the show effect again.
                        function replay(evt:FLASHEFFEvents):void
                        {
                                if (effect.currentTransitionType == "hide")
                                {                                       
                                        effect.show();                                       
                                }
 
                        }
 
 
                }
        }       
}

Что не так, подскажите пожалуйста? :(

КорДум 29.08.2011 16:57

http://www.flasher.ru/forum/showthread.php?t=166043
Не плодите темы.

Isaac 29.08.2011 17:01

Цитата:

Сообщение от КорДум (Сообщение 1026569)

Так основа вроде другая? Я не знал, что нельзя одинаковые названия, извините пожалуйста

КорДум 29.08.2011 17:02

Да не в этом дело. Название как раз охватывает оба ваших вопроса. Либо надо уточнить, либо объединить темы в одну. Первое на форуме приветствуется лучше, чем второе :)

Isaac 29.08.2011 17:07

Цитата:

Сообщение от КорДум (Сообщение 1026572)
Да не в этом дело. Название как раз охватывает оба ваших вопроса. Либо надо уточнить, либо объединить темы в одну. Первое на форуме приветствуется лучше, чем второе :)

Спасибо, изменил название темы.
А вы не можете мне помочь?

КорДум 29.08.2011 17:13

К сожалению нет, я не имел дела с этой библиотекой.
Но попробую уточняющие вопросы позадавать. Как я понимаю, это Вы взяли готовый пример (судя по комментариям)? Вы в нем что-то меняли? В оригинале он работает?

Isaac 29.08.2011 17:20

Цитата:

Сообщение от КорДум (Сообщение 1026576)
К сожалению нет, я не имел дела с этой библиотекой.
Но попробую уточняющие вопросы позадавать. Как я понимаю, это Вы взяли готовый пример (судя по комментариям)? Вы в нем что-то меняли? В оригинале он работает?

Да, это готовый пример.
Он работает, все ок, только я хочу, чтоб после первого эфекта с текстом, появлялся второй текст с этим же эффектом, а у меня все время первый текст появляется

КорДум 29.08.2011 17:24

Попоробуйте посмотреть документацию к библиотеке и найти там нечто похожее на метод next(), который запустит следующий эффект.

Isaac 29.08.2011 17:25

Цитата:

Сообщение от КорДум (Сообщение 1026585)
Попоробуйте посмотреть документацию к библиотеке и найти там нечто похожее на метод next(), который запустит следующий эффект.

Ок, но дело в том, что мне не нужен следующий эффект, мне нужен тот же эффект, но только с другим текстовым полем

КорДум 29.08.2011 17:28

Я не дописал. Следующий такой же эффект для другого поля. Вы же массив текстФилдов передаете эффекту. Значит должны быть средства для управления.

Isaac 29.08.2011 17:32

Цитата:

Сообщение от КорДум (Сообщение 1026588)
Я не дописал. Следующий такой же эффект для другого поля. Вы же массив текстФилдов передаете эффекту. Значит должны быть средства для управления.

А если я не буду передвать массив, а каждый раз создавать заново эффект с новым текстовым полем? От этого размер ролика увеличится?

КорДум 29.08.2011 17:35

На пару килобайт или сотен байт. Вы лучше разберитесь с удобными средствами управления (я думаю, что они там удобные, иначе массива бы не было).

Isaac 29.08.2011 17:37

Цитата:

Сообщение от КорДум (Сообщение 1026590)
На пару килобайт или сотен байт. Вы лучше разберитесь с удобными средствами управления (я думаю, что они там удобные, иначе массива бы не было).

Нет, массив это я добавил :) его не было

КорДум 29.08.2011 17:40

А, все, понял. Значит эффект работает только с одним полем. Пробуйте ему скармливать другое текстовое поле через target и перезапускать эффект.

Isaac 29.08.2011 17:47

Цитата:

Сообщение от КорДум (Сообщение 1026592)
А, все, понял. Значит эффект работает только с одним полем. Пробуйте ему скармливать другое текстовое поле через target и перезапускать эффект.

Спасибо, так и сделал.
работает, но размер увеличился неплохо :(

КорДум 29.08.2011 20:35

Этот код добавил несколько десятков байт. Значит Ваша либа весит много сама по себе.


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

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