SkepticalFox Posted August 12, 2015 Share Posted August 12, 2015 (edited) ShadowHunterRUS, пробовал, предупреждения нет, но всё так же не работает.Попробуй так: private function disposeW(e:MouseEvent) : void { this.handleWindowClose(); }Вот что у меня получилось: Для каждого значения User/Id нужно создавать свой TextField с помощью цикла for Также можно использовать WGшный класс для создания таблицы... import scaleform.clik.controls.ScrollingList; Edited August 12, 2015 by ShadowHunterRUS 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted August 12, 2015 Share Posted August 12, 2015 , спасибо, работает. @ Quote Link to comment Short link Share on other sites More sharing options...
Vampire_BY Posted August 12, 2015 Share Posted August 12, 2015 (edited) Попробуй так: private function disposeW(e:MouseEvent) : void { this.handleWindowClose(); }Вот что у меня получилось:shot_005.jpg Для каждого значения User/Id нужно создавать свой TextField с помощью цикла for Также можно использовать WGшный класс для создания таблицы... import scaleform.clik.controls.ScrollingList; Как определить WGUtils (google не чего не дал по этому поводу) или это уже не надо? Я так понял что TextField надо редактировать в ActionScript где то когда он получает сообщения? import scaleform.clik.controls.ScrollingList; (ActionScript для мне темный лес) p.s Что то я связь уже потерял немного (может с просони туплю), щя попробую поковыряться может что и выйдет Edited August 12, 2015 by Mr.Deno @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted August 12, 2015 Share Posted August 12, 2015 (edited) del Edited June 19, 2016 by ShadowHunterRUS @ Quote Link to comment Short link Share on other sites More sharing options...
Vampire_BY Posted August 12, 2015 Share Posted August 12, 2015 Нужно XFW подключить) Короче не нужно это... По поводу <table>: в TextField этот тег использовать нельзя. Я догадался что он не работает <table>. А вот как ты TextField сделал я так и не понял @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted August 12, 2015 Share Posted August 12, 2015 ShadowHunterRUS, подскажи, пожалуйста, как кнопку "Закрыть" применить по назначению (на примере этого кода)?А разве нет стандартного обработчика... ЕМНИП, в питоне вроде было такое...Да, глянул коды ВГ. def onWindowClose(self): self.destroy() З.Ы. Глянул в старых тестах, данный код тоже присутствует. Закрытие точно работало. Пару патчей назад. Не думаю, что серьезно перекопали. @ Quote Link to comment Short link Share on other sites More sharing options...
Redneck Posted August 12, 2015 Share Posted August 12, 2015 Также можно использовать WGшный класс для создания таблицы... import scaleform.clik.controls.ScrollingList; Это похвала WG или оскорбление Autodesk? :) Я догадался что он не работает <table>. А вот как ты TextField сделал я так и не понял Полистай на досуге оф.доки. Там много полезного можно найти. @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted August 12, 2015 Share Posted August 12, 2015 (edited) , а можно в окно, фоном, установить какое-либо изображение (например, из папки maps/icons)? Edited August 12, 2015 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted August 12, 2015 Share Posted August 12, 2015 (edited) del Edited June 19, 2016 by ShadowHunterRUS 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted August 12, 2015 Share Posted August 12, 2015 Банально TextField и тег Точно, спасибо) @ Quote Link to comment Short link Share on other sites More sharing options...
Vampire_BY Posted August 12, 2015 Share Posted August 12, 2015 (edited) Попробуй так: private function disposeW(e:MouseEvent) : void { this.handleWindowClose(); }Вот что у меня получилось:shot_005.jpg Для каждого значения User/Id нужно создавать свой TextField с помощью цикла for Также можно использовать WGшный класс для создания таблицы... import scaleform.clik.controls.ScrollingList; Можешь показать как ты сделал такой вывод. А то если делать без таблицы получается записи съезжают Примерно так: |name id| +----------------+ 123 qwe 123 qwe 123123 qwe 123 qwe 1223 qwe Edited August 12, 2015 by Mr.Deno @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted August 12, 2015 Share Posted August 12, 2015 (edited) del Edited June 19, 2016 by ShadowHunterRUS @ Quote Link to comment Short link Share on other sites More sharing options...
Vampire_BY Posted August 12, 2015 Share Posted August 12, 2015 (edited) for(var i:int = 0; i<10; i++) { var tf_left:TextField = new TextField(); var tf_right:TextField = new TextField(); tf_left.y = i*30 + 15; tf_right.y = i*30 + 15; tf_left.x = 15; tf_right.x = 300; addChild(tf_left); addChild(tf_right); }Как-то так... Блин все стало сложнее ) 1) Я так понял это надо вставлять сюда override protected function configUI() : void override protected function configUI() : void { super.configUI(); this.textFieldTest = new TextField(); this.textFieldTest.width = 490; this.textFieldTest.height = 390; this.textFieldTest.x = 5; this.textFieldTest.y = 150; this.textFieldTest.multiline = true; this.textFieldTest.selectable = false; this.startF(); this.addChild(this.textFieldTest); } 2) Тут цикл вывод от 0 до 9 а я не знаю сколько заранее у меня будет записей а значит надо с python'a как то передать количество (получить количество записей а вот предать в as есть сложность ) 3) как tf_left и tf_right понимает какая запись откуда в том плане что id а что name или от override protected function configUI() : void вообще надо отказаться p.s не совсем понимаю принцип передачи параметров с python в as Как я понимаю сначала данные поступают сюда public function as_setText(param:String):void { this.textFieldTest.htmlText = param; // получает текст с python'a наверное } а потом сюда и затем вывод текста override protected function configUI() : void { super.configUI(); this.textFieldTest = new TextField(); this.textFieldTest.width = 490; // параметры окна this.textFieldTest.height = 390; // параметры окна this.textFieldTest.x = 5; // отступ this.textFieldTest.y = 150; // отступ this.textFieldTest.multiline = true; this.textFieldTest.selectable = false; this.startF(); // хз что но есть вроде как в python скрипте такая же функция this.addChild(this.textFieldTest); // выводит вроде как тест } Edited August 12, 2015 by Danny Greene @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted August 12, 2015 Share Posted August 12, 2015 а можно в окно, фоном, установить какое-либо изображение (например, из папки maps/icons)?Один вариант предложил ShadowHunterRUS. Второй - использовать пустой MovieClip и MovieClipLoader (для AS2). Наверняка у картохи в AS3 тоже должны быть готовые классы UILoader или что-то подобное. Таким макаром подгружаются иконки снарядов на панельку в бою)) Для AS3 - еще проще Если картинку нужно запихнуть во флеш, есть Embed, ЕМНИП. Давно FlashDevelop не юзал. @ Quote Link to comment Short link Share on other sites More sharing options...
Vampire_BY Posted August 12, 2015 Share Posted August 12, 2015 (edited) Сделал под id и name отдельный вывод и вышло примерно. Принцип такой получился как позиционирования <div> в CSS Edited August 12, 2015 by Danny Greene @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted August 12, 2015 Share Posted August 12, 2015 Для AS3 - еще проще Ну через img вполне нормально всё работает. Правда, мне кажется, что изображение чуть мылится (как это бывает при загрузке изображений в XVM`е). 'Скрин' Пока для меня такого хватает. А позже, как дойдут руки, может сделаю что-то и получше) @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted August 12, 2015 Share Posted August 12, 2015 Как я понимаю сначала данные поступают сюдаДанные туда поступают, когда ты их туда посылаешь. Эту функцию ты вызываешь из питона. По сути должно работать и прямая (из питона) установка текста твоего поля. Тут цикл вывод от 0 до 9 а я не знаю сколько заранее у меня будет записей а значит надо с python'a как то передать количество (получить количество записей а вот предать в as есть сложностьНикакой сложности, базовые объекты такие как списки и словари (не уверен, но скорее всего) нормально воспринимаются AS, так что ЕМНИП можно их спокойно туда отправлять. Главное - правильно настроить приемник. Сериализацией / десериализацией / преобразованием типов объектов занимается DAAPI, так что за это не парься. override protected function configUI()Определяет конструирование UI. Именно тут по сути должно писаться все создание интерфейса. Поменять / установить дополнительные параметры можно потом (когда надо будет), но основное задается здесь. Т.е. тут ты определяешь, как будет выглядеть пустая болванка. p.s не совсем понимаю принцип передачи параметров с python в asПринцип называется DAAPI (Direct Access API). Работает, как видно из названия, по принципу "прямой доступ". Т.е. при помощи C-части движка flash (AS) связывается с Python, т.е. ты имеешь доступ к объектам, при изменении свойств которых / вызове методов C-часть преобразует формат переданных тобой данных, и выполняет действие в другой части "мостика". Опуская существование невидимой C-части, можно сказать, что ты напрямую вызываешь методы, описанные на другом языке, данные преобразуются автоматически. Как это выглядит: Python -> AS3: У тебя есть flashObject. Все свойства и методы базового класса (если я это правильно назвал) (или почти все), будут доступны в питоне через этот объект. AS3 -> Python: Ты определяешь в базовом классе флешки методы, которые будут перегружены питоном (декларируешь переменные). Поэтому достаточно определить их как переменные и указать их тип (Function), вместо нормального определения метода. Далее при подключении флешки DAAPI находит такие методы и перегружает их. Насколько я понимаю, через базовый класс доступны все функции питона, имена которых определены как переменные в AS3 классе. И если я не ошибаюсь (не уверен, не проверял), все методы, имена которых совпадают с питоновскими, будут перегружены питоновскими (что произойдет, если в питоне будет метод одноименный со "стандартным", например, configUI, тоже не могу сказать, не тестил). Опять не совсем все понятно с модификаторами (private public overload static ...), я в AS не особо шарю, так что не могу сказать, как они влияют на этот процесс. Правда, мне кажется, что изображение чуть мылится (как это бывает при загрузке изображений в XVM`е).М.б. масштабирование? @ Quote Link to comment Short link Share on other sites More sharing options...
Vampire_BY Posted August 12, 2015 Share Posted August 12, 2015 (edited) Ну через img вполне нормально всё работает. Правда, мне кажется, что изображение чуть мылится (как это бывает при загрузке изображений в XVM`е). 'Скрин' 12.08.png Пока для меня такого хватает. А позже, как дойдут руки, может сделаю что-то и получше) GPCracker, спс за пояснения. Edited August 12, 2015 by Danny Greene @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted August 12, 2015 Share Posted August 12, 2015 Можешь показать кода как ты картинку запелил ? Создал новое текстовое поле, указал полные размеры окна и свойству htmlText дал путь к изображению. @ Quote Link to comment Short link Share on other sites More sharing options...
Vampire_BY Posted August 12, 2015 Share Posted August 12, 2015 Создал новое текстовое поле, указал полные размеры окна и свойству htmlText дал путь к изображению. Что то затупил потом догнал )) @ 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.