Подключаем SWC как внешнюю библиотеку.
Дизайн собираем во Flash CS6. Код пишем в FD.
1) Ставим галочку "Экспорт для ActionScript" для всех символов, которые нам нужны. Я добавляю префикc UI к каждому имени класса.
2) В Параметрах публикации отмечаем SWC и SWF форматы.
3) Подключаем нашу SWC библиотеку к проекту:
4) Используем UI классы как обычные классы: наследуемся от них, создаём новые экземпляры и т.д. без каких либо ограничений. Я люблю наследование: все именованные символы кочуют в класс логики и с ними удобно работать.
Это для дебага. В релизе, когда SWC файл нужно отделить от Флешки:
1) Переключаем в свойствах библиотеки её тип на External library.
2) Собираем проект. Появится ошибка - мол классы не найдены.
3) Пишем отдельную Флешку-прелоадер, которая загружает оба ролика (с дизайном и логикой) в один апликейшн домен.
public class FrontendLoader extends Sprite { private var uiLoader:Loader; private var frontend:Loader; public function FrontendLoader():void { uiLoader = new Loader(); uiLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onUIComplete); uiLoader.load(new URLRequest("interface.swf"), new LoaderContext(false, ApplicationDomain.currentDomain)); } private function onUIComplete(e:Event):void { //var PFSans:Class = getDefinitionByName("fonts.PFSquare") as Class; //Font.registerFont(PFSans); frontend = new Loader(); frontend.contentLoaderInfo.addEventListener(Event.COMPLETE, onFrontEndComplete); frontend.load(new URLRequest("logic.swf"), new LoaderContext(false, ApplicationDomain.currentDomain)); } private function onFrontEndComplete(e:Event):void { var mainClass:Class = getDefinitionByName("Main") as Class; addChild(new mainClass() as DisplayObject); } }
5) Вуаля! Теперь можно просто подменять swf файл дизайна, без необходимости пересобирать основной проект. Это удобно, когда у вас есть дизайнер, который рисует интерфейсики во Flash IDE. Или, как в моём случае терминального софта (GPRS модем со скоростью улитки), нужно отделить тяжёлый редкообновляющийся дизайн от 30 килобайтов логики без потери удобств от автокомплита и прямого использования классов.
Всего комментариев 3
Комментарии
08.07.2014 13:24 | |
Цитата:
5) Вуаля! Теперь можно просто подменять swf файл дизайна
|
08.07.2014 13:59 | |
SWC и есть внешняя библиотека. Спасибо за еще один, годный пост.
|
Последние записи от Rzer
- Радиальный прогресс бар для Starling 2 (01.07.2016)
- Приложения для изучающих AS3 (21.12.2014)
- Математика игр. Часть 1. (10.07.2014)
- Подключаем SWC как внешнюю библиотеку. (07.07.2014)
- Обновился набор классов simplify as3 (20.11.2012)