Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   dynamic text в кнопке (http://www.flasher.ru/forum/showthread.php?t=106016)

Denis Davidov 02.01.2008 21:20

эт. понятно, а если есть куча других экземпляров МувиКлип которых я совсем не хочу наделять этими событиями??? :)
должно быть чтонибудь типа:
new class MyMC inherit MovieClip {
onRollOver()
onRollOut()
};

_root.Library.MyObjectName register as MyMC
:))

MrPoma 02.01.2008 21:33

должно быть вот так в отдельном файле:
Код:

class MyBtn extends MovieClip{
    function MyMc(){
    }

    function onRollOver():Void{
    }

    function onRollOut():Void{
    }
}


iNils 02.01.2008 21:42

Denis Davidov получает плюс за игнорирование тегов для кода.

Denis Davidov 03.01.2008 11:18

2MrProma:

Спасибо добрый человек! :)
Вот я и увидел код как это прописывать ))
осталось 2 маленьких вопроса:
1) какого расширения/имени фаил и как его потом подцеплять в основную флешку?
2) как "зарегистрировать" объект Movie Clip (состоящий из мувика и динамического текста) из library эллементом этого класса? его экземпляры потом использовать в качестве моей кнопки с норм. работающим динамик текстом

Спасибо за помощь!

DarkLight 03.01.2008 13:38

1) файл с расширением .as
2) в свойствах клипа в библиотеке есть поле Class, там прописываем имя класса, и при attachMovie клип будет создан как его экземпляр

Denis Davidov 03.01.2008 15:12

ага, работает, только вот маленькая проблемма (надеюсь последняя):
Код:

class MyIndex extends MovieClip{
    var index_txt:text;
        function MyIndex(){
    }

    function onRollOver():Void{
                index_txt.textColor=0x640000;
    }

    function onRollOut():Void{
                index_txt.textColor=0x000000;
    }
        function onRelease():Void{
               
        }
}

index_txt - это объект, который агрегирован объектом библиотеки index_mc, кот., соответственно, потом линкую с прописанным классом MyIndex.
Понятно что при компиляции .as класс ничего не знает об этом линке и видимо надо прописать этот объект в качестве переменной в классе.
Но интерфейса text почему-то нет...
Поправте меня пожалуйста...

MrPoma 03.01.2008 19:03

создаете мувиклип. в его свойствах в поле Class пишете MyIndex. в нем создаете текстовое поле txt.

MyIndex:
Код:

class MyIndex extends MovieClip{
    private var color_over:Number;
    private var color:Number;
    private var text_format:TextFormat;

    function MyIndex(){
          color = 0;
          color_over = 0x640000;

          text_format = new TextFormat();
          text_format.color = color;
    }

    function onRollOver():Void{
          text_format.color = color_over;
        this.txt.setNewTextFormat(text_format);
    }

    function onRollOut():Void{
          text_format.color = color;
        this.txt.setNewTextFormat(text_format);
    }
}


iNils 03.01.2008 21:15

Denis Davidov, когда хотите что-то добавить, используйте кнопку http://www.flasher.ru/forum/images/r...ttons/edit.gif и редактируйте последнее сообщение, а не создавайте несколько сообщений подряд.

***

Надо добавить
Код:

private var txt:TextField;
к списку объявленных переменных

Denis Davidov 03.01.2008 21:51

понял, пардон.
Добавил эту строчку, компилятор ошибок не выдает но изменение цвета не происходит, хотя в процедуру заходит (проверил в дебаге).
Вылечил непосредственным изменением цвета у text:
Код:

this.txt.textColor = color_over;
всем спасибо за советы и помощь!..

iNils 03.01.2008 22:17

setNewTextFormat устанавливает стиль для текста, который будет введен позднее. А для уже введенного текста ндо использовать setTextFormat.


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

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