PDA

Просмотр полной версии : Управление подключенным содержимым


SeaQuest
04.05.2010, 00:30
Есть два класса управления содержимым медиа флешки реализующих интерфейс.
Один класс загружает внешние файлы: ExternalResources.
Второй класс включает в себя те же файлы только через Embed: InternalResources.
То есть однофайловая и многофайловая версия флешки.
Хочется сделать переключение через переменную, которую можно вынести куда угодно как:
public var multifile:Boolean = true;

if(multifile)
resources = new ExternalResources();
else
resources = new InternalResources();

Но неудивительно, что даже если по условию не запускается конструктор класса InternalResources, подключающий ресурсы через Embed, то он всё равно подключает внешние ресурсы.

Поэтому приходится просто закомменчивать строчку, чтобы внешние ресурсы не подключались:
resources = new ExternalResources();
//resources = new InternalResources();
Есть ли выход из положения?

Gaen
04.05.2010, 03:35
Такой вариант явно неправильный, т.к. [Embed] обрабатывается на стадии компиляции.
В вашем случае требуется условная компиляция. Mxmlc это умеет, насчет флэша не уверен.

SeaQuest
04.05.2010, 04:43
Понятно, спасибо. Но заморачиваться и компилить под флексом флешдевелопский проект было бы бОльшим извратом, чем перекомментить строчку.
Если вариантов под FlashDevelop не существует пожалуйста тоже отпишитесь об этом, так как это тоже ответ.

Gaen
04.05.2010, 05:02
Тут не от ide зависит а от компилятора. FlashDevelop - это лишь среда разработки, она умеет работать как с флэшом так и с mxmlc.
Флэш похоже тоже поддерживает условную компиляцию, так что все в ажуре :)
http://help.adobe.com/en_US/Flash/10.0_UsingFlash/WS3e7c64e37a1d85e1e229110db38dec34-7fa4a.html#WS7D94A7C3-8F91-421a-936C-F076374C470F

SeaQuest
06.05.2010, 21:18
Очень благодарю за информацию! Очень полезная штука в больших проектах!

dimarik
07.05.2010, 00:22
То есть однофайловая и многофайловая версия флешки.

Что Вы хотели пояснить этой фразой? Если честно, тянет на 10 баллов. Буду цитировать семейному кругу.

SeaQuest
10.05.2010, 14:39
Игра на флеше. Однофайловая версия, где все ресурсы включены в один файл.
Многофайловая, когда есть главный запускной файл проекта не содержащий ни графики ни звука, только скомпиленный код, а ресурсы игры подгружаются этим файлом после запуска. То есть под словом "флешка" я имел ввиду весь проект, написанный на флеше.
Вы очень счастливый человек, если можете обсудить с семейным кругом экшн скрипт! Я тоже, потому что тоже могу!:p

Добавлено через 2 минуты
Кстати как позволят заказчики выложу ссылку на форум, всё таки первый полностью законченный и сложный проект.