![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Nov 2010
Адрес: Ярославль
Сообщений: 249
|
Недавно перешёл на Flash CS5 и у меня появились проблемы. В конструкторе класса не желают видиться объекты на сцене. Например, у меня на сцене есть 2 объекта RadioButton. В конструкторе основного класса мне нужно добавить эти две RadioButton в объект RadioButtonGroup. Я добавляю... Потом, позднее мне надо обратиться к одной из RadioButton, входящих в группу (например через bGroup.selection). И вдруг оказывается, что я пытаюсь обратиться к объекту null. Насколько я помню, в CS4 таких проблем не возникало. Получается, теперь в инициализации класса нельзя обращаться к объектам на сцене?
|
|
|||||
|
Регистрация: Mar 2011
Сообщений: 21
|
Проверь стоит ли галочка в Publish Settings -> AS3 -> Automaticly declare stage instances
__________________
Пытаюсь делать игры для детей |
|
|||||
|
Регистрация: Nov 2010
Адрес: Ярославль
Сообщений: 249
|
Стоит.
Если я обращаюсь к ним после инициализации, то всё работает нормально. Похоже проблема в другом, т.к., если я просто трасирую объект RadioButton на сцене, то он выводит [object RadioButton], как и должен. Может я что-то не так делаю? private var protectGroup:RadioButtonGroup = new RadioButtonGroup("protectGroup"); private var multiGroup:RadioButtonGroup = new RadioButtonGroup("multiGroup"); public function Editor() { protectGroup.addRadioButton(protectYes_mc); protectGroup.addRadioButton(protectNo_mc); multiGroup.addRadioButton(multiYes_mc); multiGroup.addRadioButton(multiNo_mc); trace(protectGroup.selection);//null, хотя в инспекторе компонентов поставил одну кнопку выбранной } p.s. Попробуйте, у кого CS5 стоит проделать эти действия. Я просто реально не могу понять в чём может быть проблема... Всё получилось. Оказывается Flash сначала инициализирует код, а потом уже сцену. Исправил, добавив событие Event.ADDED_TO_STAGE. Последний раз редактировалось Parez; 03.04.2011 в 20:25. |
|
|||||
|
Регистрация: Oct 2010
Адрес: Новосиб
Сообщений: 122
|
Добавляйте в группу после события ADDED
private var protectGroup:RadioButtonGroup = new RadioButtonGroup("protectGroup"); private var multiGroup:RadioButtonGroup = new RadioButtonGroup("multiGroup"); public function Editor() { protectNo_mc.addEventListener(Event.ADDED, addRadio); protectYes_mc.addEventListener(Event.ADDED, addRadio); } private function addRadio(e:Event):void{ protectNo_mc.removeEventListener(Event.ADDED, addRadio); protectGroup.addRadioButton(e.currentTarget as RadioButton); trace(protectGroup.selection); } |
![]() |
![]() |
Часовой пояс GMT +4, время: 06:43. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| flash cs5 |
|
|