Комментарии 24
Да, я тоже недавно начал изучать Flex и сталкнулся с embed. Точно так же не решил проблему (точнее решил, тупо перечисляя все вствляемые файлы). Кстати, насколько я знаю, скольк раз сделаешь embed столько раз файл и присоеденится в прожект, даже если он уже есть.
0
3. PopUpManager.centerPopUp() не подошло?
0
Сразу бросилась в глаза функция clear, которая «чистит» массив. Не знаю как с другими языками, но с флешем — чистка массива методом arr = new Array(); приводит к выделению ему дополнительной памяти. Лучше в while пока длина массива > 0 делать pop();. Хотя в этом случае это не столь важно.
0
Я на самом деле полагался на сборщик мусора :). У меня есть подозрение, что если делать для каждого элемента pop(), то может получиться менее производительно по скорости и распределению памяти.
0
Возможно, не спорю. Просто у меня была ситуация, когда чистил массивы таким же методом (их было порядком не мало), начинало притормаживать. Как раз while и спас ситуацию. А еще быстрей работает в данной ситуации do..while. Не знаю почему сборщик не справился со своей задачей. Просто говорю как было :)
+1
С массовым эмбедингом ресурсов вам может помочь метапрограммирование. Напишите простейший скрипт на php, ruby или даже вижуал бейсике, который будет генерить as файл с эмбед директивами для всех файлов в директории.
С локализацией — дело вкуса конечно, но я не уверен что с вашим классом корректно сработают все биндинги при динамической смене локали.
Модальное окно центруется именно centerPopUp(), то что в коде фреймворка по другому — это просто один из бесконечной череды примеров индусского когда в худшем смысле там.
Вот сделайте базовый класс для окошка, с эффектом «распахивания» — это задача и полезней и познавательней. В конце концов это флэш, и надо чтобы это было видно — нужна не навязчивая динамика и анимация.
С локализацией — дело вкуса конечно, но я не уверен что с вашим классом корректно сработают все биндинги при динамической смене локали.
Модальное окно центруется именно centerPopUp(), то что в коде фреймворка по другому — это просто один из бесконечной череды примеров индусского когда в худшем смысле там.
Вот сделайте базовый класс для окошка, с эффектом «распахивания» — это задача и полезней и познавательней. В конце концов это флэш, и надо чтобы это было видно — нужна не навязчивая динамика и анимация.
+2
Ну с массовым эмбедингом — примерно так и получилось. С локализацией — согласен. Модальное окно — возможно, Вы правы — попробую переделать. Эффект «распахивания» — это чтобы оно из точки как-бы раздвигалось в конечное положение?
0
Не просто раздвигалось :) Чтобы смотрелось не скучно, окно должно стартовать с 30-40% размера, с ускорением распахнуться до 120%, а потом стать на 100%. Общая длительность около полусекунды. И в обратном порядке при закрытии. Тогда это выглядит не так уныло, как просто «тык, появилось».
Привязываться к статик методам для создания окна (метод show у Alertа) тоже не очень практично. Т. к. его нельзя унаследовать. Обычно у вас куча окон, которые различаются только содержимым, а так как класс для каждого будет свой, и придется статический show реализовать в каждом из них
Привязываться к статик методам для создания окна (метод show у Alertа) тоже не очень практично. Т. к. его нельзя унаследовать. Обычно у вас куча окон, которые различаются только содержимым, а так как класс для каждого будет свой, и придется статический show реализовать в каждом из них
0
Хорошая статья, подробненько так для начала, а кому надо дальше сами раскопают.
Еще хорошо бы о применении Flex для реальных приложений с учетом производительности — как сделать наиболее оптимальное многомодульное приложение.
Еще хорошо бы о применении Flex для реальных приложений с учетом производительности — как сделать наиболее оптимальное многомодульное приложение.
+1
Вот спасибо за статью. Не могу сказать, что сильно помогла в чем-то, но кто знает, когда и с чем конкретно придется столкнуться. А в условиях явного дефицита русскоязычных мануалов и книг по Flex, любая информация лишней не будет. Еще раз спасибо.
0
*с довольной усмешкой* теперь однако флекс — тематика хабра :) habrahabr.ru/blogs/flex/38475/#comment_913223
-1
Отличная статья. Как раз для начинающих флексеров. Автор наступил на многие грабли — молодец, это хороший опыт.
Можно высказать пожелание? Было бы очень здорово, если бы приходящие из Си программисты постарались делать по-меньше культа вокруг отчистки памяти. Единственное, что надо делать — это не оставлять ссылок на неиспользуемые объекты и все. Всякие хаки по форсированию GC и прочее — это от лукавого.
Еще, по-возможности, не называйте методы с заглавной буквы и используйте CamelCase для разделения слов в названиях. Только не расценивайте это как упрек — это пожелание. Вот есть например замечательная библиотека Box2D, портированная из Си во ActionScript, но с сохранением кодинг-конвенций из Си. Флэшерам с ней очень трудно работать — постоянно глаза режет.
А вообще замечательно, что в блог «Adobe Flex» начали активно писать.
Можно высказать пожелание? Было бы очень здорово, если бы приходящие из Си программисты постарались делать по-меньше культа вокруг отчистки памяти. Единственное, что надо делать — это не оставлять ссылок на неиспользуемые объекты и все. Всякие хаки по форсированию GC и прочее — это от лукавого.
Еще, по-возможности, не называйте методы с заглавной буквы и используйте CamelCase для разделения слов в названиях. Только не расценивайте это как упрек — это пожелание. Вот есть например замечательная библиотека Box2D, портированная из Си во ActionScript, но с сохранением кодинг-конвенций из Си. Флэшерам с ней очень трудно работать — постоянно глаза режет.
А вообще замечательно, что в блог «Adobe Flex» начали активно писать.
+1
И тем не менее, бывает, что уберешь аккуратно все ссылки, все листнеры, у всего чего только можно dispose повызываешь и т. п., а память не освобождается. А ткнешь garbage collector, и сразу становится хорошо :) Понятно, что хак — он и есть хак, сегодня работает, завтра не работает (в лучшем случае, а в худшем все ломает), но все-таки мы живем в реальном мире, приходится искать компромисы между хорошем стилем и производительностью :)
0
Мда, почитал я тут статьбю и комменты… ну и извраты приходится вам применять, да и тормозит все это наверно. Ну ее нафик, такую кривую технологию((( Я по крайней мере флекс-приложениями теперь точно пользоваться не хочу(
-2
тоже совсем недавно начал изучать флекс и тоже впечатления очень положительные, затыки переодически возникают, но всё решаемо. из последних например, не удалось убрать реакцию на фокус и овер во воженном рендерере, то есть есть лист у него есть рендерер, тот в свою очередь для отображения одного из елементов данных вызывает HorizontalList со своим рендерером. В итоге потратил час, а потом переписал на AS через цикл и addChild, вроде нормально, но отображается заметно медленнее. не подскажете? ))))
0
большое спасибо за метод локализации
0
Обычной практикой является отделение всех ассетов от кода. В таком случае не нужно будет перекомпилировать приложение каждый раз, когда поменяется картинка, текст или стиль. То есть правильнее, хотя и гемморнее, было бы создать хмл со ссылками на картинки, и грузить их в рантайме. А хмл уже генерить из пхп на лету или с помощью jsfl во флеше.
А, еще картинки можно было сохранить в флеш-библиотеку .swc и из нее уже таскать. Это кстати по сути тот же зип архив с вложенными ассетами.
А, еще картинки можно было сохранить в флеш-библиотеку .swc и из нее уже таскать. Это кстати по сути тот же зип архив с вложенными ассетами.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Первые, но нелегкие шаги во Flex