Vampire_BY Posted September 6, 2015 Share Posted September 6, 2015 (edited) Добавил в override protected function configUI() : void var test:String = '{ \"abc\": { \"test1\": \"11\", \"test2\": \"12\" }, \"qaz\": { \"test1\": \"11\", \"test2\": \"12\" } }'; var data:Object = JSON.parse(test); а форма встала с ног на голову. на что можно заменить var data:Object = JSON.parse(test); что бы все заработало? Пробовал так var data:Array = JSON.parse(test) as Array; результат тот же Edited September 6, 2015 by DannyGreene @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted September 6, 2015 Share Posted September 6, 2015 (edited) del Edited February 10, 2016 by ShadowHunterRUS @ Quote Link to comment Short link Share on other sites More sharing options...
Vampire_BY Posted September 6, 2015 Share Posted September 6, 2015 зачем тебе \ оно все портит var test:String = '{"abc":{"test1":"11","test2":"12"},"qaz":{"test1":"11","test2":"12"}}'; var data:Object = JSON.parse(test);пробуй так Без изменений @ Quote Link to comment Short link Share on other sites More sharing options...
Vampire_BY Posted September 7, 2015 Share Posted September 7, 2015 (edited) ShadowHunterRUS, можешь показать пример передачи перемеренных из pythona в as. Пример: py test1 = 10 test3 = 20 test3 = 30 as this.textField1.width = test1; this.textField1.height = test2; this.textField1.x = test3; Сильно ли повлияет такой способ на отклик программы (надо будет передать переменных 15)? Хочу попробовать сделать таким образом так как не могу вывести JSON в as. p.s На второй странице смотрел примеры но так и не понял как сделать передачу из py а as касательно переменных в большом количестве. Edited September 7, 2015 by DannyGreene @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted September 7, 2015 Share Posted September 7, 2015 py def test1(self): return 10 def test2(self): return 20 def test3(self): return 30as private var test1:Function; private var test2:Function; private var test3:Function; this.textField1.width = test1(); this.textField1.height = test2(); this.textField1.x = test3(); @ Quote Link to comment Short link Share on other sites More sharing options...
Vampire_BY Posted September 7, 2015 Share Posted September 7, 2015 (edited) py def test1(self): return 10 def test2(self): return 20 def test3(self): return 30as private var test1:Function; private var test2:Function; private var test3:Function; this.textField1.width = test1(); this.textField1.height = test2(); this.textField1.x = test3(); Так и думал что для каждого значения нужна отдельная функция (надеялся что этого можно избежать). А что на счет производительности? Сильно повлияет на отклик открытия окна. У меня щя и та так полторы секунды (было 5) а если еще будет 15 таких функций. Edited September 7, 2015 by DannyGreene @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted September 7, 2015 Share Posted September 7, 2015 (edited) del Edited June 19, 2016 by ShadowHunterRUS @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted September 7, 2015 Share Posted September 7, 2015 (edited) надо будет передать переменных 15А заюзать список/словарь религия не позволяет? Списки работают (для AS2 точно, делал ими уже чего-то), словари не проверял, но тоже должно... Просто грамотно определяешь типы и все. В AS, в питоне все само подтягивается, только не забудь сделать необходимые преобразования, если у тебя типы унаследованы, DAAPI может не понять. Py (list/tuple) -> AS Array Py dict -> AS Dictionary (возможно, даже Array) (скорее всего так, не проверял) (кому не сложно, проверьте, отпишитесь) Не надо париться с JSON, вся сериализация/десериализация для передачи уже запилена в DAAPI. Edited September 7, 2015 by GPCracker @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted September 7, 2015 Share Posted September 7, 2015 (edited) del Edited February 10, 2016 by ShadowHunterRUS @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted September 7, 2015 Share Posted September 7, 2015 @GPCracker, мой пример, написанный выше, интересно, работает?Самому интересно... >>> type({}) == type(dict()) True Да это и ежу понятно, если ты мне это написал)) @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted September 7, 2015 Share Posted September 7, 2015 (edited) del Edited February 10, 2016 by ShadowHunterRUS @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted September 7, 2015 Share Posted September 7, 2015 (edited) Кстати, код инициализации AS3 DAAPI со стороны питона, эквивалентный AS2, я нашел, а вот код со стороны AS3, эквивалентный AS2, нет. Выражаясь более понятно, алгоритм определения и перегрузки слотов AS3 методами Python реализован вне поля Python / AS3 (на C написан), и об логике (селективности) этого алгоритма можно только догадываться. З.Ы. Так что прокатит или нет мой план по замене функции-геттера более общим (Function -> Object) DAAPI атрибутом - нужно тестировать. Edited September 7, 2015 by GPCracker @ Quote Link to comment Short link Share on other sites More sharing options...
Vampire_BY Posted September 7, 2015 Share Posted September 7, 2015 (edited) del Edited September 7, 2015 by DannyGreene @ Quote Link to comment Short link Share on other sites More sharing options...
CyToTV Posted September 24, 2015 Share Posted September 24, 2015 не тебе, не волнуйся, в твоих знаниях питона я не сомневаюсь. Кстати, завтра уже 8 сентября, а это значит, что выходит alpha-версия qt 5.6... можешь помочь? у меня есть исходники swf'ки (там текстовое поле и кнопка ), как сделать так, чтобы при нажатии скачивался файл по ссылке http://мой сайт.com/<текст из поля>.pyc @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted September 24, 2015 Share Posted September 24, 2015 можешь помочь? у меня есть исходники swf'ки (там текстовое поле и кнопка ), как сделать так, чтобы при нажатии скачивался файл по ссылке http://мой сайт.com/<текст из поля>.pyc это надо делать через встроенный браузер 1 4 @ Quote Link to comment Short link Share on other sites More sharing options...
CyToTV Posted September 24, 2015 Share Posted September 24, 2015 это надо делать через встроенный браузер там не скачать =( @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted September 24, 2015 Share Posted September 24, 2015 (edited) del Edited February 10, 2016 by ShadowHunterRUS @ Quote Link to comment Short link Share on other sites More sharing options...
CyToTV Posted September 24, 2015 Share Posted September 24, 2015 from urllib import urlopen def load_file(self, some_text): text_on_server = urlopen('http://мой сайт.com/%s.pyc' % some_text).read() open('res_mods/scripts/client/gui/mods/%s.pyc' % some_text, 'w').write(text_on_server) А как сделать этот def по клику в swf? @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted September 24, 2015 Share Posted September 24, 2015 (edited) А как сделать этот def по клику в swf? Мне кажется, что тебе любой понимающий человек скажет куда пойти поботать питон) Извиняюсь за выражение, без обид, но думаю тебе реально стоит сначала разобраться в питоне (Python) и Флеше (AS) хотя бы на элементарном уровне, перед тем, как браться за моды. Тем более, что это не такая простая тема, как кажется внешне. Для нормальной работы здесь нужно не только понимать (и уметь писать, что тоже немаловажно) оба языка программирования, но и основы их взаимодействия (DAAPI). Если ты реально думаешь, что все так просто запилить, ты ошибаешься. Не, может простые вещи и легко запилить (тупо скопировав код, который тебе дружелюбно сгенерят), но реализовать что-то более менее серьезное без таких же серьезных знаний не получится. По крайней мере сделать это правильно и без костылей-велосипедов. По крайней мере, глянуть тот же код с функцией, что тебе скинул - а что произойдет, если скажем сервак твой будет отключен, или юзер просто настроил файервол на белый список? Фейл, с последующим крашем вьюшки (как минимум эвента кнопки), а м.б. и всего интерфейса. Но ничего прикольного точно. Или например скорость закачки будет полбита в секунду - зависнет интерфейс. Про обрывы и т.д. думаю говорить не нужно. Отсюда напрашивается перевод запроса на поток, вывод прогресса закачки и еще куча вещей. А это усложнит код в несколько раз. В конце концов, писать тут код за тебя вряд ли кто захочет (нахаляву по крайней мере точно), помочь могут, указать направление для поиска или ошибку в коде, но не писать за тебя код. Так что если реально хочешь заняться модостроением - придется немного поботать. Тем более, что языки довольно распространенные и вряд ли будут лишними. З.Ы. def - это объявление функции в питоне. З.Ы.Ы. Гугл - это первый и самый главный инструмент любого программиста и не только. И им жизненно необходимо уметь пользоваться. З.Ы.Ы.Ы. Скачка файла скрипта со стороннего сервера - крайне небезопасное решение. Не следует так делать. Это равносильно написанию вируса-загрузчика. З.Ы.Ы.Ы.Ы. , не обязательно сохранять файл на диск. Можно код выполнить и без этого, просто размаршалив code-object в памяти. Модуль тогда импортировать ручками придется, если он тебе нужен, конечно. Edited September 24, 2015 by GPCracker 2 @ Quote Link to comment Short link Share on other sites More sharing options...
CyToTV Posted September 24, 2015 Share Posted September 24, 2015 Мне кажется, что тебе любой понимающий человек скажет куда пойти поботать питон) Извиняюсь за выражение, без обид, но думаю тебе реально стоит сначала разобраться в питоне (Python) и Флеше (AS) хотя бы на элементарном уровне, перед тем, как браться за моды. Тем более, что это не такая простая тема, как кажется внешне. Для нормальной работы здесь нужно не только понимать (и уметь писать, что тоже немаловажно) оба языка программирования, но и основы их взаимодействия (DAAPI). Если ты реально думаешь, что все так просто запилить, ты ошибаешься. Не, может простые вещи и легко запилить (тупо скопировав код, который тебе дружелюбно сгенерят), но реализовать что-то более менее серьезное без таких же серьезных знаний не получится. По крайней мере сделать это правильно и без костылей-велосипедов. По крайней мере, глянуть тот же код с функцией, что тебе скинул - а что произойдет, если скажем сервак твой будет отключен, или юзер просто настроил файервол на белый список? Фейл, с последующим крашем вьюшки (как минимум эвента кнопки), а м.б. и всего интерфейса. Но ничего прикольного точно. Или например скорость закачки будет полбита в секунду - зависнет интерфейс. Про обрывы и т.д. думаю говорить не нужно. Отсюда напрашивается перевод запроса на поток, вывод прогресса закачки и еще куча вещей. А это усложнит код в несколько раз. В конце концов, писать тут код за тебя вряд ли кто захочет (нахаляву по крайней мере точно), помочь могут, указать направление для поиска или ошибку в коде, но не писать за тебя код. Так что если реально хочешь заняться модостроением - придется немного поботать. Тем более, что языки довольно распространенные и вряд ли будут лишними. З.Ы. def - это объявление функции в питоне. З.Ы.Ы. Гугл - это первый и самый главный инструмент любого программиста и не только. И им жизненно необходимо уметь пользоваться. З.Ы.Ы.Ы. Скачка файла скрипта со стороннего сервера - крайне небезопасное решение. Не следует так делать. Это равносильно написанию вируса-загрузчика. З.Ы.Ы.Ы.Ы. , не обязательно сохранять файл на диск. Можно код выполнить и без этого, просто размаршалив code-object в памяти. Модуль тогда импортировать ручками придется, если он тебе нужен, конечно. Во первых, я php'шник и по этому уже давно догодался что def это функция Во вторых, это загрузчик модов для танков (ModStore) В третьих, я знаю НЕМНОГО питона, а вот до as дело не дошло =( ты в этом прав @ 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.