Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Мигающий текст (http://www.flasher.ru/forum/showthread.php?t=146880)

ЗлОй ПрОграММер 20.11.2010 18:00

Мигающий текст
 
помогите плиз написать класс мигающего текста P.S. текст должен каждый последующий кадр менять цвет скажем с синего на зелёный
Код AS3:

package{        
    import flash.text.*;
        public class MyText extends TextField{
                public function MyText(){
 
 
                }
        }
}

Добавлено через 10 минут
да и ещё как можно будет второй символ оставить красным цветом , не меняя его

3p.station 20.11.2010 18:16

ENTER_FRAME, TextFormat.color

ЗлОй ПрОграММер 20.11.2010 19:24

а как узнать номер кадра ?

Slip_91 20.11.2010 19:34

Цитата:

а как узнать номер кадра ?
а зачем он нужен?

по EnterFrame проверяешь какой сейчас цвет и меняешь на противоположный

ЗлОй ПрОграММер 20.11.2010 19:36

я не смог написать класс, стал делать по другому, и мне надо знать номер кадра!!!

goodguy 20.11.2010 20:10

Да не будет там никакого номера кадра. Энтер фрейм будет перебирать их до бесконечноести.

Вам правильно посоветовали, проверить цвет.
Допустим:
Код AS3:

private var tf:TextFormat = new TextFormat("verd", 12, 0xFFFFFF);
 
private function enterFrame(e:Event):void {
        if (ft.color == 0xFFFFFF) {
                  tf.color = 0x000000;
        } else if (tf.color == 0x000000) {
                  tf.color = 0xFFFFFF;
        }
}

В данном случае будет бесконечно менять цвет с черного на белый.

"verd" - это импортированный шрифт, он не обязателен.

А если уж на то пошло, то можно вообще обойтись без ас3. Сделайте в одном кадре текст одного цвета, в другом - другого. И они будут постоянно меняться

ЗлОй ПрОграММер 21.11.2010 01:02

Добавлено через 34 секунды
Цитата:

Сообщение от goodguy (Сообщение 951177)
А если уж на то пошло, то можно вообще обойтись без ас3. Сделайте в одном кадре текст одного цвета, в другом - другого. И они будут постоянно меняться

вот Я так и хотел только мне надо остановить воспроизведение скажем на 58 кадре

КорДум 21.11.2010 01:26

Код AS3:

private var tf:TextFormat = new TextFormat("verd", 12, 0xFFFFFF);
private var count:uint = 0;
 
private function enterFrame(e:Event):void {
        if (ft.color == 0xFFFFFF)  tf.color = 0x000000;
        else  tf.color = 0xFFFFFF;
        count++;
        if (count === 58) removeEventListener("enterFrame", enterFrame);
}


tsarapkabel 21.11.2010 01:45

2 ЗлОй ПрОграММер: addFrameScript
2 КорДум: count === 58-1

Bgg 21.11.2010 01:45

Цитата:

Сообщение от КорДум (Сообщение 951182)
Код AS3:

if (count === 58) removeEventListener("enterFrame", enterFrame);


КорДум, типо строгое равенство быстрее, чем обычное?)


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

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