![]() |
|
|
![]() |
![]() |
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
![]() Здравствуйте. Хочу переписать своё приложение с AS2 на AS3. Но вот решил сделать это полностью во FlashDevelop. Всё вроде получается. Но столкнулся с трудностью. Каким образом можно программно создавать компонент ComboBox? Обыкновенное создание кодом к сожалению не работает.
package net.azag.as3 { import fl.controls.ComboBox; import flash.display.MovieClip; import flash.events.Event; /** * ... * @author Azag-Thoth */ public class Main extends MovieClip { public var playlist_cb : ComboBox; public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { playlist_cb = new ComboBox(); playlist_cb.addItem({label:"Item 1"}); playlist_cb.addItem({label:"Item 2"}); playlist_cb.addItem({label:"Item 3"}); addChild(playlist_cb); removeEventListener(Event.ADDED_TO_STAGE, init); // entry point } } } TypeError: Error #2007: Параметр child не должен быть равен нулю. at flash.display::DisplayObjectContainer/addChildAt() at fl.controls::BaseButton/drawBackground() at fl.controls::BaseButton/draw() at fl.core::UIComponent/drawNow() at fl.controls::ComboBox/drawLayout() at fl.controls::ComboBox/draw() at fl.core::UIComponent/callLaterDispatcher() Добавлено через 46 минут Вероятно поторопился с созданием темы. Уже нагуглил. Тут: http://www.flasher.ru/forum/showthread.php?t=137673 http://www.murmadillo.tut.su/html/slider.html http://flashgamedev.ru/viewtopic.php?f=6&t=1019 http://stackoverflow.com/questions/5...tionscript-3-0 http://flashgamedev.ru/viewtopic.php?f=6&t=1019 http://as3coder.blogspot.ru/2009/12/...shdevelop.html http://www.flashdevelop.org/communit...hp?f=13&t=4344 Добавлено через 2 часа 33 минуты Тем не менее пока ничего не выходит. Если у кого-то есть пример как такое сделать, покажите пожалуйста. Добавлено через 3 часа 14 минут Расскажу поподробнее как я делаю сейчас. Во Flash IDE создаю новый .fla (тип AS3) После этого перетаскиваю в библиотеку компонент. В параметрах публикации выставляю галочку на swc. Публикую. После этого во FlashDevelop нажимаю на появившемся .swc файлике второй кнопкой мыши и нажимаю "Add To Library". Теперь код: package net.azag.as3 { import fl.controls.ComboBox; import flash.display.MovieClip; import flash.events.Event; /** * ... * @author Azag-Thoth */ public class Main extends MovieClip { public var playlist_cb : ComboBox; public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { playlist_cb = new ComboBox(); playlist_cb.addItem({label:"Item 1"}); playlist_cb.addItem({label:"Item 2"}); playlist_cb.addItem({label:"Item 3"}); addChild(playlist_cb); removeEventListener(Event.ADDED_TO_STAGE, init); // entry point } } TypeError: Error #2007: Параметр child не должен быть равен нулю. at flash.display::DisplayObjectContainer/addChildAt() at fl.controls::BaseButton/drawBackground() at fl.controls::BaseButton/draw() at fl.core::UIComponent/drawNow() at fl.controls::ComboBox/drawLayout() at fl.controls::ComboBox/draw() at fl.core::UIComponent/callLaterDispatcher() TypeError: Error #2007: Параметр child не должен быть равен нулю. at flash.display::DisplayObjectContainer/addChildAt() at fl.controls::BaseButton/drawBackground() at fl.controls::BaseButton/draw() at fl.core::UIComponent/callLaterDispatcher() Всё заработало после перезапуска FlashDevelop. Чудеса да и только.
__________________
Играй. Это жизнь. Всё повторяется. Играй. Последний раз редактировалось AzagThoth; 10.04.2013 в 15:43. |
![]() |
![]() |
Часовой пояс GMT +4, время: 05:20. |
|
« Предыдущая тема | Следующая тема » |
Теги |
AS3 , combobox , FlashDeveloper |
Опции темы | |
Опции просмотра | |
|
|