aks1983 Posted September 30, 2016 Share Posted September 30, 2016 (edited) W G что-то сделал с флешом. Теперь не создаются контролы: import net.wg.gui.components.controls.SoundButton; ... var btnZero:SoundButton = App.utils.classFactory.getComponent( "net.wg.gui.components.controls::SoundButton", SoundButton, {label: "0:0", x: 150, y: 43, width: 27, height: 23} ); btnZero.addEventListener(ButtonEvent.CLICK, handleZeroButtonPress); addChild(btnZero); Есть какие-нибудь идеи? UPD: так же не работают такие конструкции: var b:SoundButton = new SoundButton(); b.label = 'test'; b.x = 10; b.y = 10; b.width = 27; b.height= 23; addChild(b); b.validateNow(); var b2:Button = new Button(); b2.textField = new TextField(); b2.textField.text = 'test1'; b2.label = 'test2'; b2.x = 100; b2.y = 10; b2.width = 27; b2.height= 23; addChild(b2); b2.validateNow(); Edited September 30, 2016 by aks1983 @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted September 30, 2016 Share Posted September 30, 2016 Есть какие-нибудь идеи? http://www.koreanrandom.com/forum/topic/25477-/?p=355101 @ Quote Link to comment Short link Share on other sites More sharing options...
aks1983 Posted September 30, 2016 Author Share Posted September 30, 2016 Спасибо, продвинулся, но проблема осталась. Сейчас реализация такая - private var _librariesLoaded:Boolean = false; private var _controlPopulated:Boolean = false; //в конструкторе: App.instance.loaderMgr.addEventListener(LibraryLoaderEvent.LOADED, this.onLoaderMangerLoadedHandler); App.instance.loaderMgr.loadLibraries(Vector.<String>([ "guiControlsLobby.swf", "guiControlsLobbyBattle.swf", "guiControlsLobbyBattleDynamic.swf", "guiControlsLobbyDynamic.swf", "guiControlsLogin.swf", "guiControlsLoginBattle.swf", "guiControlsLoginBattleDynamic.swf" ])); // и далее: protected override function onPopulate():void { _controlPopulated = true; super.onPopulate(); initControls(); } private function onLoaderMangerLoadedHandler(e:LibraryLoaderEvent):void { // ловим загрузку последней либы из списка if (e.url.indexOf("guiControlsLoginBattleDynamic.swf") >= 0) { App.instance.loaderMgr.removeEventListener(LibraryLoaderEvent.LOADED, onLoaderMangerLoadedHandler); _librariesLoaded = true; initControls(); } } private function initControls():void { DebugUtils.LOG_ERROR('!!!STATUS!!!', _librariesLoaded + " : " + _controlPopulated); // учитываем, что загрузка либ асинхронна (!!!): if (_librariesLoaded && _controlPopulated) { try { // тут создаёся спрайт с контролами net.wg.gui.components.controls... _panel = new MySuperPanel(this); addChild(_panel); } catch (e:Error) { DebugUtils.LOG_ERROR('!!!ERROR!!!', e); } DebugUtils.LOG_ERROR('!!!DONE!!!'); } } Всё равно валится по 'Error extracting object with linkage: DropdownMenu'. Ж*па... Раньше (еще до решения с загрузкой либ) я указывал имя класса по полному имени - например net.wg.gui.components.controls::DropdownMenu, в этом случае не валится, но и контролов не видно (графика не загрузилась? или контролы не проинициализировались?) Попробуем сделать для теста простейшее окно с кнопкой и дропдауном на странице логина? @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted September 30, 2016 Share Posted September 30, 2016 (edited) DropdownMenuТам названия поменялись вроде. UI в конце где-то добавилось. Edited September 30, 2016 by ShadowHunterRUS @ Quote Link to comment Short link Share on other sites More sharing options...
aks1983 Posted September 30, 2016 Author Share Posted September 30, 2016 Там названия поменялись вроде. UI в конце где-то добавилось. Не, всё на месте: http://take.ms/OBJAx @ Quote Link to comment Short link Share on other sites More sharing options...
POLIROID Posted October 1, 2016 Share Posted October 1, 2016 (edited) Не, всё на месте: http://take.ms/OBJAx клик либо клик а еще Попробуем сделать для теста простейшее окно с кнопкой и дропдауном на странице логина? клик import net.wg.gui.components.controls.SoundButtonEx; import net.wg.gui.components.controls.DropdownMenu; ... // dropdown (ui linkage => DropdownMenuUI) var dropdown:DropdownMenu = App.utils.classFactory.getComponent("DropdownMenuUI", DropdownMenu, {...}); //or var dropdown:DropdownMenu = DropdownMenu(App.utils.classFactory.getObject("DropdownMenuUI")); // button (ui linkages => ButtonNormal or ButtonBlack) var button:SoundButtonEx = App.utils.classFactory.getComponent("ButtonNormal", SoundButtonEx, {...}); //or var button:SoundButtonEx = SoundButtonEx(App.utils.classFactory.getObject("ButtonNormal")); Edited October 1, 2016 by POLIROID 2 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Porc Posted October 29, 2016 Share Posted October 29, 2016 (edited) клик либо клик а еще клик import net.wg.gui.components.controls.SoundButtonEx; import net.wg.gui.components.controls.DropdownMenu; ... // dropdown (ui linkage => DropdownMenuUI) var dropdown:DropdownMenu = App.utils.classFactory.getComponent("DropdownMenuUI", DropdownMenu, {...}); //or var dropdown:DropdownMenu = DropdownMenu(App.utils.classFactory.getObject("DropdownMenuUI")); // button (ui linkages => ButtonNormal or ButtonBlack) var button:SoundButtonEx = App.utils.classFactory.getComponent("ButtonNormal", SoundButtonEx, {...}); //or var button:SoundButtonEx = SoundButtonEx(App.utils.classFactory.getObject("ButtonNormal")); Не подскажите, как создать группу радиобаттонов, с текстом? Типа таких: Edited October 29, 2016 by Porc @ Quote Link to comment Short link Share on other sites More sharing options...
POLIROID Posted October 29, 2016 Share Posted October 29, 2016 (edited) Не подскажите, как создать группу радиобаттонов, с текстом? Типа таких: Там по идее все просто, вам понадобится ButtonGroup и RadioButton. Пример под катом после внедрения и правок под ваш код, по идее должен работать. *правда он без обрамления с заголовком (FieldSet) import flash.events.MouseEvent; import scaleform.clik.controls.ButtonGroup; import scaleform.clik.core.UIComponent; import net.wg.gui.components.controls.RadioButton; var buttons:Array = ["text1", "text2", "text3", "text4"]; var selectedIndex:Number = 2; var radioButtonsUI:UIComponent = new UIComponent(); var buttonGroup:ButtonGroup = ButtonGroup.getGroup("your_group_name", radioButtonsUI); for (var i:Number = 0; i < buttons.length; i++) { var radioButton:RadioButton = RadioButton(App.utils.classFactory.getComponent("RadioButton", RadioButton)); radioButton.x = i * 120; radioButton.label = buttons[i]; radioButtonsUI.addChild(radioButton); buttonGroup.addButton(radioButton); radioButton.addEventListener(MouseEvent.CLICK, handleButtonGroup); } buttonGroup.setSelectedButtonByIndex(selectedIndex); addChild(radioButtonsUI); Edited October 29, 2016 by POLIROID 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.