Sunday, July 6th, 2008
Пользователям флекс фреймворка советуют использовать SystemManager вместо Stage (ну или я не так это понимаю)
All keyboard and mouse activity that is not expressly trapped is seen by the SystemManager, making it a good place to monitor activity should you need to do so.
Раз советуют, значит так нужно, но не всегда советы работают как нужно!
Неудобства начинаются когда мы хотим что-то потаскать мышкой. Если использовать startDrag() или слушать событие MouseEvent.MOUSE_MOVE/MouseEvent.MOUSE_UP, то при уводе мыши за границы флеш плеера объект просто залипает на последней позиции позиции мыши в окне флеш плеера. Если опустить мышь за окном плеера, то по возвращению в плеер объект будет носиться за мышью до последующего клика. Побороть это можно повесив все события на Stage.
Эти штуки можно посмотреть в примере.
Используйте SystemManager с умом, но не забывайте про Stage.
ps. вордпресс отстой, операция вставки флешки превращается в извращения.
upd: забыл сказать, что в чистом АС3 проекте startDrag() и Stage ведут себя также плохо и хорошо
Posted in ActionScript 3.0, flex framework | 3 Comments »
Tuesday, May 20th, 2008
Сенсация, сенсация, срочно в номер!
Я знаю как уменьшить размер с 150 до 130 кб для флекс 3 приложения!
Теперь более осмысленые слова:
Многие жалуются, что флекс приложения имеют большой размер, и это в принципе так, 120-150 килобайт кода это не мало. Часто звучит вопрос как уменьшить размер получаемого кода.
Давайте для начала разберемся, что нам дается с этим кодом?
- Прелоадер (у нас он есть по умолчанию и нам просто не нужно его создавать, мелочь но приятно)
- SystemManager — все проиницилизирует и создаст условия для комфортной работы стандартных и наших компонент (он объеденяет все нижеприведеные фичи в одно единое целое и заставляет их работать)
- DragManager — в пол пинка позволяет делать драг”н”дроп всего из всего и во все, для List компонент это делается установкой пары флегов в mxml
- StyleManager — работа со стилями. Во флекс фреймворке это одня из самых главных фич, дизайн можно изменить легким движением руки, и менять его в рантайме, догружая особоскомпилированые файлы стилей
- LayoutManager — позволяет нам делать различные выранивания и позиционирования, без линних рассчетов (не правда ли удобно написать в mxml-коде width=”100%” ?)
- PopUpManager — создаем и манипулируем со всплывающими окошками
- ToolTipManager — наши замечательные тултипы, всегда сверху, ничего лишнего ( toolTip=”эгегей это я “, помоемому отлично)
- CursorManager — позволит менять и создавать свои курсоры
- HistoryManager и BrowserManager — храним историю переключения наших состояний и меняем линки в браузере, это пока единственное от чего бы я смог отказатся по умолчанию во фреймворке
- Биндинг — автоматическое обновление данных там где это нам нужно, удобно, безумно удобно, супер удобно, только на это мне не жалко 50-60К кода )
- Стили по умолчанию — создав и запустив приложение мы получаем
“раскрашеные” компоненты готовые к употреблению как они есть.
Согласитесь, что это совсем немало для для каких-то 120(150) килобайт кода! Если вы считаете, что тут много лишнего, то подумайте правильно ли выбрали среду разработки для вашего проекта, может все таки использовать Flash CS3 или голые AS3 проекты?
Помни: средняя фотка с фликера весит 100-150К, а страница баш.орг.ру — 200-300К
Я лично готов пожертвовать размером ради удобства и скорости разработки. Количество “динозавров” с модемами по 56кбит/с уже очень мало, стоимость мегабайта трафика уже не космическая, и задайтесь вопросом “нужно ли мое приложение всем?”, мой ответ: “кому оно нужно у того явно нет проблемы с интернетом!”
На последок открою тайну про уменьшение размера приложения.
В нагрузку к коду нам еще дают стиль по умолчанию, так вот если его “вырезать” ну или заменить на более легкий варинт то есть возможность съэкономить 10-20-30К кода, но зачем тратить это время? (самый простецкий способ это открыть framework.swc с помощью rar’а и почикать стили внутри него, если просто удалить их содержимое то проект запуститься но в рантайме будет ругатся, что ему нехватает запчастей)
Каждый должен знать, что приложение по умолчанию компилится в дебаг версию поэтому для релиз версии незабудь воспользоваться Project → Export Release Build…
Posted in ActionScript 3.0, Flex, Flex Builder 2, Flex Builder 3, flex framework | 2 Comments »