| « Спасибо за наше счастливое детство | Russian Adobe Flash-platform User Group » |
Использование модулей
Проблема: как загружать код только тогда, когда он нужен? Например, на flash-сайте есть игры, но пользователь может до них и не дойти - поэтому их надо сделать подгружаемыми по требованию.
Решение: Flex project для этого есть модули.
Решение: ActionScript project можно банально подгружать другие .swf и вызывать публичные методы и свойства загруженных объектов, если заранее знать, что они там есть (при соблюдении Security). Мы получаем нетипизированный доступ, со всеми вытекающими из этого негативными последствиями:
- // Вы загрузили игру "Шашки" и теперь хотите ее начать за белых
- (loader.content as Object).start(true);
Есть простой способ сделать внешние модули строго типизированными с богатой историей использования. Пусть мы имеем отдельную .swf с нардами - backgammon.swf, главный класс - Backgammon имплементирующий IBackgammon). В основном проекте оставляем лишь IBackgammon, а сам код игры выносим в отдельный проект.
- // Вы загрузили игру "Нарды" и теперь хотите начать инициатором
- var iBackgammon:IBackgammon = IBackgammon(loader.content)
- iBackgammon.start(true);

Вот в кратце и все. Далее полученный при компиляции игры .swf загружаем во время выполнения (в runtime).
Дополнительно такими манипуляциями мы кроме размера основного .swf уменьшим время компиляции основного проекта.
Особенности: если вы не исключите интерфейс IBackgammon из бинарного файла модуля, то у вас наверняка возникнут ошибки при приведении загруженных данных к этому интерфейсу.
Кстати, в сами нарды вы можете поиграть на нашем портале top4top, в разделе общение. Там вам придется сначала найти себе собеседника и предложить ему партию.
Трекбек адрес этой записи
URL трекбека (щелкните правой кнопкой мыши и скопируйте ссылку)
4 комментариев
Вы его используете по полной программе или это только показательная картинка была в нем нарисована ?
Кстати, Саффрон все-таки выйдет — Сэмюэль обещает.
http://www.levelofindustry.com/journal/2008/1/17/saffron-rumors.html




