![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2008
Сообщений: 36
|
Добавил компонент Button на сцену документ класса, присвоил компоненту имя:
public var my_button : Button; в конструкторе пытаюсь поменять ему label, он меняется в конструкторе только в том случае, если на сцене у этого компонента стандартный лейбл: "Label", в случае если он изменен прямо в IDE, то в конструкторе документ класса установка лейбла не срабатывает. Дело в том, что если компонент изменялся прямо в среде, то после выполнения конструктора документ класса вызывается какой-то динамически созданный метод __setProp__instance_name... Правильно я понимаю, что этого никак не избежать? |
|
|||||
|
Регистрация: May 2008
Сообщений: 52
|
Долго вчитывался... тяжело написано. Отсюда и ответов нет.
Вы, пардон, добавили "компонент Button на сцену документ класса" программно? Тогда, не понятно, как у него на сцене может оказаться "нестандартный" Label? Или вручную на сцену кнопку перетащили? Тогда о чем сей код? О совсем другой кнопке? Опишите понятнее. |
|
|||||
|
все верно
установка лейбла в конструкторе срабатывает, но до инициализации компонента 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 |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Типичная AS2-ная политика, onLoad у компонентов тоже есть. Только соответствующего события нет.
|
|
|||||
|
Регистрация: Jan 2008
Сообщений: 36
|
Цитата:
Вопрос исчерпан, спасибо за ответы. |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:29. |
|
|
« Предыдущая тема | Следующая тема » |
|
|