SkepticalFox 1,445 #351257 Posted September 1, 2016 Это нормально?В FlashPlayer'е запускал что-ли? Quote Share this post Link to post Short link Share on other sites
mitgard 0 #351258 Posted September 1, 2016 (edited) В FlashPlayer'е запускал что-ли? Да. Хотя понимаю, что там вроде как работать не должен. Edited September 1, 2016 by mitgard Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #351259 Posted September 1, 2016 Да. Хотя понимаю, что там вроде как работать не должен.Работать будет, если подключить swf-файлы к плееру и стартануть их. Видел такой пример: https://github.com/jhakonen/wot-teamspeak-mod/issues/21#issuecomment-204791499 Quote Share this post Link to post Short link Share on other sites
mitgard 0 #351267 Posted September 1, 2016 А что насчет мыши? addEventListener требует первый параметр String, а в MouseEventEx.LEFT_BUTTON это uint. Или можно использовать класс flash.events.MouseEvent. Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #351268 Posted September 1, 2016 Или можно использоватьнужно использовать Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #351321 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 Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #351323 Posted September 1, 2016 Передавай как словарь, а получай как Object Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #351325 Posted September 1, 2016 Передавай как словарь, а получай как ObjectЭээ тут момент такой есть, один из параметров список, скажем {"alpha": 0.01, "size": [10, 20]}Оно в таком раскладе отрезолвится? Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #351326 Posted September 1, 2016 Эээ тут момент такой есть, один из параметров список, скажем {"alpha": 0.01, "size": [10, 20]}Оно в таком раскладе отрезолвится?должно Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #351334 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 Share this post Link to post Short link Share on other sites
mitgard 0 #351413 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 Share this post Link to post Short link Share on other sites
GPCracker 2,088 #351421 Posted September 2, 2016 Можно ли опираться на гайд GPCracker по DAAPI, с учетом того, что теперь вроде как AS3 используется.Классы другие, принципы те же. Как появится время - обновлю гайдец. Сам сейчас клепаю боевую флешку с вьюшкой-лоадером и панелями-компонентами BattleUI. И можно ли делать флешки на AS3 в FlashDevelop?Нужно. Хотя в принципе и адобом пользоваться никто не запрещает. Там немного разные принципы, но должно работать. А то несколько раз видел, что для AS3 нужен Adobe по-свежее.Честно говоря, там все зависит от компилятора. Лично я боевую сейчас делаю на AS3 в FlashDevelop. Ладно, а то на работе длинные посты набивать не вариант, работать надо :) Quote Share this post Link to post Short link Share on other sites
mitgard 0 #351927 Posted September 6, 2016 Подскажи, чем root flash отличается от UI. Мне вот хочется, чтобы мой объект был не в отдельном окне, а в где-нибудь в ангаре. Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #351939 Posted September 6, 2016 Подскажи, чем root flash отличается от UI. Мне вот хочется, чтобы мой объект был не в отдельном окне, а в где-нибудь в ангаре.Рут флеш наследуется от класса Flash, UI от классов фреймворка. По факту, в случае с рутовой флешкой ты грузишь независимую флешку, в случае с UI - флешку грузит фреймворк. Соответственно, рутовой флешкой рулишь чисто ты, UI еще управляет фреймворк. Плюс еще фреймворк предоставляет часть методов для перегрузки, что местами упрощает даже разработку. После перехода на AS3 поведение UI элементов аналогично ангарным, только в боевом режиме немного отличается структура интерфейса, в частности немного другой набор контейнеров. В общем, там куча различий, но могу сказать, что использование корневой флешки оправдано в настоящее время только в двух случаях - если это устаревший AS2, который не сможет загрузиться фрейсворком (правда не факт, что картоха не выпилила его поддержку из Scaleform), в таком случае проще и эффективнее просто перейти на AS3, либо если эта флешка должна быть независимой от фреймворка, т.е. она не относится ни к боевой, ни к ангарной части интерфейса, а такие случаи довольно редкие. Если в случае с AS2 набор классов был довольно малым, то сейчас в принципе можно без проблем конструктить как вьюшки, так и компоненты. Опять вопрос насчет разницы вьюшки и компонента. Тут чем больше рассказываешь, тем больше нужно пояснять... Короч, буду писать гайдец - напишу, что, куда и зачем нужно. По крайней мере в части вещей боевого интерфейса уже успел разобраться. Quote Share this post Link to post Short link Share on other sites
goofy67 55 #352362 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 Share this post Link to post Short link Share on other sites
mitgard 0 #352423 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 Share this post Link to post Short link Share on other sites
CyToTV 10 #352461 Posted September 10, 2016 дождаться 0.9.15.1) shot_006.jpg скажи как, уже 0.9.15.1))) пж (с примером (если можно)) 1 Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #352465 Posted September 10, 2016 (edited) , getDefLobbyApp заменить на getDefBattleApp Edited September 10, 2016 by ShadowHunterRUS 1 Quote Share this post Link to post Short link Share on other sites
CyToTV 10 #352556 Posted September 11, 2016 , getDefLobbyApp заменить на getDefBattleApp , спасибо! Quote Share this post Link to post Short link Share on other sites
mitgard 0 #353001 Posted September 14, 2016 (edited) 1) Можно ли привязать расположение окна к одну из объектов? 2) Можно ли создать объект( текст, кнопку) без своего окна, прямо в ангаре, не редактируя оригинальные файлы. P.S. никак не получается инициализировать DAAPI. Нету доступа к flashObject Edited September 15, 2016 by mitgard Quote Share this post Link to post Short link Share on other sites