Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Flash CS3 Button компонент (http://www.flasher.ru/forum/showthread.php?t=123496)

ign 03.04.2009 15:08

Flash CS3 Button компонент
 
Добавил компонент Button на сцену документ класса, присвоил компоненту имя:
public var my_button : Button;

в конструкторе пытаюсь поменять ему label, он меняется в конструкторе только в том случае, если на сцене у этого компонента стандартный лейбл: "Label", в случае если он изменен прямо в IDE, то в конструкторе документ класса установка лейбла не срабатывает.

Дело в том, что если компонент изменялся прямо в среде, то после выполнения конструктора документ класса вызывается какой-то динамически созданный метод __setProp__instance_name...

Правильно я понимаю, что этого никак не избежать?

Aldvin 03.04.2009 16:04

Долго вчитывался... тяжело написано. Отсюда и ответов нет.

Вы, пардон, добавили "компонент Button на сцену документ класса" программно?
Код AS3:

public var my_button : Button;
addChild(my_button);

Тогда, не понятно, как у него на сцене может оказаться "нестандартный" Label?

Или вручную на сцену кнопку перетащили? Тогда о чем сей код?
Код AS3:

public var my_button : Button;

О совсем другой кнопке?

Опишите понятнее.

silin 03.04.2009 16:46

все верно
установка лейбла в конструкторе срабатывает, но до инициализации компонента
Код AS3:

public class Test extends Sprite
{
        public var my_button : Button;
        public function Test()
        {
                my_button.addEventListener(ComponentEvent.LABEL_CHANGE, labelChangeHandler);
                my_button.label = "ZZ";
 
        }
 
        private function labelChangeHandler(evnt:ComponentEvent):void
        {
                var but:Button = evnt.target as Button;
                trace( "label : " + but.label );
 
        }
 
}
//label : ZZ//конструктор
//label : XX//что прописано в component inspector


etc 03.04.2009 18:21

Типичная AS2-ная политика, onLoad у компонентов тоже есть. Только соответствующего события нет.

ign 03.04.2009 19:25

Цитата:

Сообщение от __etc (Сообщение 810615)
Типичная AS2-ная политика, onLoad у компонентов тоже есть. Только соответствующего события нет.

Очень неприятно конечно, что нет соответствующего события.

Вопрос исчерпан, спасибо за ответы.


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

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