Просмотр полной версии : Динамическое подключение swc
s3dworld
23.01.2012, 12:59
Всем доброго утра!
Как-то давно я использовал swc, для того чтобы подключать их к проекту во время компоновки (то есть чтобы уже нормально работающий код не компилировался каждый раз). Теперь же есть задумка разделить проект на части и эти части подгружать с сервера. То есть, например разработать отдельный проект по управлению звуками и скомпилировать его в swc. Загрузить на сервер. Потом уже основной движок игры динамически её загрузит/подгрузит/включит и будет вызывать классы/функции данной библиотеки. А при необходимости выгрузит её. Возможно ли так и если да, то в какую сторону копать?
А почему не сделать все тоже самое, но с помощью swf? И кстати, где-то на форуме была статейка по настройке библиотек при компиляции - почитайте, думаю найдете для себя много интересного.
Возможно ли так...
Возможно.
...и если да, то в какую сторону копать?
Начать можете отсюда (http://www.flasher.ru/forum/blog.php?b=317).
Начать можете отсюда (http://www.flasher.ru/forum/blog.php?b=317).
Именно эту статью я и имел ввиду.
Да ничего, собственно, нового - компилируете нужный вам код в SWF, и ее и загружаете. А потом ищете очень долго почему не выгружается :) Простой способ скомпилировать из SWC SWF - создать путстой проект и скомпилировать его с -il ./path/to/my.swc. Можно, конечно, и усложнить - посмотреть в сторону, как скомпилировать RSL - но последнее в принципе не предполагает выгрузку.
посмотреть в сторону, как скомпилировать RSL
RSL ничем не отличается от swc, принцип тот же.
А потом ищете очень долго почему не выгружается
Может быть и такое. Зависит от того как использовать. Если нет перекрестных ссылок, то все должно выгружаться.
Чем же то же самое? RSL - это вполне себе отдельная тема. SWC - просто сборник всего, что может понадобиться в проекте во время компиляции, RSL - это SWF модуль. Не из каждой SWC можно даже в теории сделать RSL. RSL можно сделать не используя SWC.
RSL - это SWF модуль
С чего вдруг? Модуль это модуль. RSL, если мы говорим о Runtime Shared Library — обычная библиотека (просто сборник всего), то что обычно лежит внутри swc. Для любого swc можно выставить загрузку как RSL. Если ты имеешь ввиду swz, то это тоже обычная swc, только подписанная сертификатом от Adobe.
RSL можно сделать не используя SWC.
Естественно, также как и swc можно сделать без использования compc.
Нет, swc - это просто архив, например, туда можно просто картинки сохранить, или запомнившиеся стихи любимого писателя в формате Майкрософт Ворд :) Из этого не обязательно получится сделать RSL т.как RSL должен быть в формате SWF.
Кстати сказать - один из идиотизмов флексового фреймворка - они за каким-то лешим картинки скомпилировали в SWF и так их положили в SWC. И теперь обязательно нужно пользоваться их картинками (иконками всякими и т.п.) т.как даже если их переопределить в стилях, то оригиналы с уродскими именами типа __c_workspace_flex_framework_Assets_swf_mx_controls_treeClasses_OpenFolder_png останутся там навечно :)
В контексте флеша, swc должен содержать swf, а так это просто zip, которому сменили расширение на swc. С таким же успехом, swc может быть исполняемым файлом или " стихами любимого писателя в формате Майкрософт Ворд" (старом бинарном формате, дабы не было сказано, что docx это архив) и это уже будет ни разу не архив. :)
RSL ничем не отличается от swc, принцип тот же.
Принцип тот же (какой, кстати, принцип?), но каждый username знает, что RSL (swf, swz) ничем не отличается от swf и swz (not swc). Вы так говорите, что swc грузите в рантайме?
(какой, кстати, принцип?)
Тот же, что и для "динамической загрузки swc". Тем или иным способом извлекается swf и загружается
...но каждый username знает, что RSL (swf, swz) ничем не отличается от swf и swz (not swc).
Ну так просветите меня, неразумного, в чем же эта сакраментальная разница?
Вы так говорите, что swc грузите в рантайме?
В переносном смысле, да. Грузится, естественно swf извлеченная из swc.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.