SkepticalFox Posted September 1, 2016 Share Posted September 1, 2016 Это нормально?В FlashPlayer'е запускал что-ли? @ Quote Link to comment Short link Share on other sites More sharing options...
mitgard Posted September 1, 2016 Share Posted September 1, 2016 (edited) В FlashPlayer'е запускал что-ли? Да. Хотя понимаю, что там вроде как работать не должен. Edited September 1, 2016 by mitgard @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted September 1, 2016 Share Posted September 1, 2016 Да. Хотя понимаю, что там вроде как работать не должен.Работать будет, если подключить swf-файлы к плееру и стартануть их. Видел такой пример: https://github.com/jhakonen/wot-teamspeak-mod/issues/21#issuecomment-204791499 @ Quote Link to comment Short link Share on other sites More sharing options...
mitgard Posted September 1, 2016 Share Posted September 1, 2016 А что насчет мыши? addEventListener требует первый параметр String, а в MouseEventEx.LEFT_BUTTON это uint. Или можно использовать класс flash.events.MouseEvent. @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted September 1, 2016 Share Posted September 1, 2016 Или можно использоватьнужно использовать @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted September 1, 2016 Share Posted September 1, 2016 Нихрена не могу понять, что я делаю не так... var config:Object = null; DebugUtils.LOG_DEBUG(json); try { config = JSON.parse(json); } catch (error:Error) { config = null; } DebugUtils.LOG_DEBUG("Fucking!! " + config);На выходе имеем [GUI] (scripts/client/gui/Scaleform/Flash.py, 51): DEBUG.GUI ('{"alpha": 0.01}', ()) [GUI] (scripts/client/gui/Scaleform/Flash.py, 51): DEBUG.GUI ('Fucking!! null', ())Собирается все без ошибок, это часть функции, получающей аргумент json через DAAPI.На входе на питоне конструкция вида bpc.flashObject.as_applyConfig('{"alpha": 0.01}') @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted September 1, 2016 Share Posted September 1, 2016 Передавай как словарь, а получай как Object @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted September 1, 2016 Share Posted September 1, 2016 Передавай как словарь, а получай как ObjectЭээ тут момент такой есть, один из параметров список, скажем {"alpha": 0.01, "size": [10, 20]}Оно в таком раскладе отрезолвится? @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted September 1, 2016 Share Posted September 1, 2016 Эээ тут момент такой есть, один из параметров список, скажем {"alpha": 0.01, "size": [10, 20]}Оно в таком раскладе отрезолвится?должно @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted September 1, 2016 Share Posted September 1, 2016 должноУгу, вроде робит :) bpc.flashObject.as_applyConfig({"alpha": 0.01, "size": [10, 20, [1, 2, {}]]}) DebugUtils.LOG_DEBUG("" + json.size); [GUI] (scripts/client/gui/Scaleform/Flash.py, 51): DEBUG.GUI ('10,20,1,2,[object Object]', ()) Спасибо. @ Quote Link to comment Short link Share on other sites More sharing options...
mitgard Posted September 2, 2016 Share Posted September 2, 2016 Работать будет, если подключить swf-файлы к плееру и стартануть их. Видел такой пример: https://github.com/jhakonen/wot-teamspeak-mod/issues/21#issuecomment-204791499 Прикольно. Собрал, но запустить там флеш не получилось, похоже нужна lobby.swf. Можно ли опираться на гайд GPCracker по DAAPI, с учетом того, что теперь вроде как AS3 используется. И можно ли делать флешки на AS3 в FlashDevelop? А то несколько раз видел, что для AS3 нужен Adobe по-свежее. @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted September 2, 2016 Share Posted September 2, 2016 Можно ли опираться на гайд GPCracker по DAAPI, с учетом того, что теперь вроде как AS3 используется.Классы другие, принципы те же. Как появится время - обновлю гайдец. Сам сейчас клепаю боевую флешку с вьюшкой-лоадером и панелями-компонентами BattleUI. И можно ли делать флешки на AS3 в FlashDevelop?Нужно. Хотя в принципе и адобом пользоваться никто не запрещает. Там немного разные принципы, но должно работать. А то несколько раз видел, что для AS3 нужен Adobe по-свежее.Честно говоря, там все зависит от компилятора. Лично я боевую сейчас делаю на AS3 в FlashDevelop. Ладно, а то на работе длинные посты набивать не вариант, работать надо :) @ Quote Link to comment Short link Share on other sites More sharing options...
mitgard Posted September 6, 2016 Share Posted September 6, 2016 Подскажи, чем root flash отличается от UI. Мне вот хочется, чтобы мой объект был не в отдельном окне, а в где-нибудь в ангаре. @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted September 6, 2016 Share Posted September 6, 2016 Подскажи, чем root flash отличается от UI. Мне вот хочется, чтобы мой объект был не в отдельном окне, а в где-нибудь в ангаре.Рут флеш наследуется от класса Flash, UI от классов фреймворка. По факту, в случае с рутовой флешкой ты грузишь независимую флешку, в случае с UI - флешку грузит фреймворк. Соответственно, рутовой флешкой рулишь чисто ты, UI еще управляет фреймворк. Плюс еще фреймворк предоставляет часть методов для перегрузки, что местами упрощает даже разработку. После перехода на AS3 поведение UI элементов аналогично ангарным, только в боевом режиме немного отличается структура интерфейса, в частности немного другой набор контейнеров. В общем, там куча различий, но могу сказать, что использование корневой флешки оправдано в настоящее время только в двух случаях - если это устаревший AS2, который не сможет загрузиться фрейсворком (правда не факт, что картоха не выпилила его поддержку из Scaleform), в таком случае проще и эффективнее просто перейти на AS3, либо если эта флешка должна быть независимой от фреймворка, т.е. она не относится ни к боевой, ни к ангарной части интерфейса, а такие случаи довольно редкие. Если в случае с AS2 набор классов был довольно малым, то сейчас в принципе можно без проблем конструктить как вьюшки, так и компоненты. Опять вопрос насчет разницы вьюшки и компонента. Тут чем больше рассказываешь, тем больше нужно пояснять... Короч, буду писать гайдец - напишу, что, куда и зачем нужно. По крайней мере в части вещей боевого интерфейса уже успел разобраться. @ Quote Link to comment Short link Share on other sites More sharing options...
goofy67 Posted September 9, 2016 Share Posted September 9, 2016 (edited) Adding DropdownMenu in 9.15.x: import scaleform.clik.data.DataProvider; import net.wg.gui.components.controls.DropdownMenu; var data : Array = new Array(); data.push({"label":"Item 1"}); data.push({"label":"Item 2"}); var dataProv : DataProvider = new DataProvider(data); ddownMenu = addChild(App.utils.classFactory.getComponent("DropdownMenu", DropdownMenu, { x: 10, y: 340, width: 200, itemRenderer: "DropDownListItemRendererSound", dropdown: "DropdownMenu_ScrollingList", menuRowCount: dataProv.length, dataProvider: dataProv, selectedIndex: 0 })) as DropdownMenu; Does not work in 9.16_CT: GUI(scripts/client/gui/Scaleform/Flash.py, 51): ERROR.GUI ('Error extracting object with linkage: DropdownMenu', ()) GUI(scripts/client/gui/Scaleform/Flash.py, 51): ERROR.GUI ('object with "DropdownMenu" linkage is not a component from library!', ()) GUI(scripts/client/gui/Scaleform/Flash.py, 51): ERROR.GUI ('object with "DropdownMenu" linkage can`t cast to [class DropdownMenu]', ()) Any ideas? Edited September 9, 2016 by goofy67 @ Quote Link to comment Short link Share on other sites More sharing options...
mitgard Posted September 10, 2016 Share Posted September 10, 2016 '.py' class SaveShellsWindow(AbstractWindowView): def __init__(self): super(SaveShellsWindow, self).__init__() def _populate(self): super(SaveShellsWindow, self)._populate() def onWindowClose(self): self.destroy() g_entitiesFactories.addSettings(ViewSettings("SaveShells", SaveShellsWindow, "SaveShells.swf", ViewTypes.WINDOW, None, ScopeTemplates.VIEW_SCOPE)) def saveShells_callback(): g_appLoader.getDefLobbyApp().loadView("SaveShells") '.as' package { import net.wg.gui.components.controls.CheckBox; import net.wg.infrastructure.base.AbstractWindowView; import net.wg.gui.components.controls.SoundButton; public class SaveShells extends AbstractWindowView { //Основные кнопки private var soundButtonOk : SoundButton; private var soundButtonCancel : SoundButton; private var soundButtonApply : SoundButton; //Основной мод private var isEnabled : CheckBox; public function SaveShells() { super(); } override protected function onPopulate() : void { super.onPopulate(); width = 600; height = 400; window.title = "SaveShells Settings"; soundButtonOk = addChild(App.utils.classFactory.getComponent("ButtonNormal", SoundButton, { width: 100, height: 25, x: 195, y: 365, label: "Ok" })) as SoundButton; soundButtonCancel = addChild(App.utils.classFactory.getComponent("ButtonNormal", SoundButton, { width: 100, height: 25, x: 305, y: 365, label: "Cancel" })) as SoundButton; soundButtonApply = addChild(App.utils.classFactory.getComponent("ButtonNormal", SoundButton, { width: 100, height: 25, x: 415, y: 365, label: "Apply" })) as SoundButton; } } } Делал на вот этом каркасе. Но флешка не грузится. Ткните, куда почитать @ Quote Link to comment Short link Share on other sites More sharing options...
CyToTV Posted September 10, 2016 Share Posted September 10, 2016 дождаться 0.9.15.1) shot_006.jpg скажи как, уже 0.9.15.1))) пж (с примером (если можно)) 1 @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted September 10, 2016 Share Posted September 10, 2016 (edited) , getDefLobbyApp заменить на getDefBattleApp Edited September 10, 2016 by ShadowHunterRUS 1 @ Quote Link to comment Short link Share on other sites More sharing options...
CyToTV Posted September 11, 2016 Share Posted September 11, 2016 , getDefLobbyApp заменить на getDefBattleApp , спасибо! @ Quote Link to comment Short link Share on other sites More sharing options...
mitgard Posted September 14, 2016 Share Posted September 14, 2016 (edited) 1) Можно ли привязать расположение окна к одну из объектов? 2) Можно ли создать объект( текст, кнопку) без своего окна, прямо в ангаре, не редактируя оригинальные файлы. P.S. никак не получается инициализировать DAAPI. Нету доступа к flashObject Edited September 15, 2016 by mitgard @ 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.