Как поделиться графикой между несколькими файлами.swf? (Flash CS5)
В Flash CS5 кажется, что есть возможность импортировать файлы.swc в библиотеку, но в виде RSL (разделяемой библиотеки времени выполнения).
В чем разница между этой опцией (swc) и использованием файла.swf общей библиотеки времени выполнения?
Кроме того, если вы выбираете файл.swc и выбираете значок "info" ("i"), кажется, есть несколько вариантов для.swc... "объединены в код", "внешние", "общая библиотека времени выполнения"):
2 ответа
SWC - это скомпилированная библиотека, встроенная в SWF вашего приложения при его сборке. Это создает файл приложения большего размера (для загрузки которого требуется больше времени в браузере) и означает, что каждый запуск приложения будет занимать одинаковое количество времени для загрузки. Если полученный SWF-файл достаточно велик, каждый запуск займет некоторое время. Эти библиотеки "статически связаны" (то есть включены в окончательно скомпилированный SWF).
RSL - это скомпилированные библиотеки, динамически связанные с вашим приложением. Вы создаете их как отдельные SWF-файлы и добавляете их в проект как RSL. Компилятор для вашего приложения создаст ссылку, которая позволит вашему приложению использовать его во время выполнения, а не импортировать его в основной SWF-файл. Когда ваше приложение запускается, оно попытается найти RSL и динамически загрузить всю библиотеку. Это увеличивает начальную загрузку вашего приложения; однако, когда они найдены и загружены, они кэшируются, и последующие запуски приложений должны быть довольно быстрыми.
У RSL есть много преимуществ и некоторые недостатки. Поскольку они не включены в ваше приложение, ваш SWF-файл меньше и будет запускаться быстрее. Это также позволяет вам разделять библиотеки в вашем приложении, которые будут использоваться другими приложениями. Отсюда и "общая" библиотека.
Это также идет со стоимостью, как бы то ни было. RSL (я думаю, по умолчанию) связаны компилятором с использованием контрольной суммы. Вы не можете просто изменить RSL, который используется другими приложениями, без повторной компиляции их для учета изменений. Если вы измените RSL, вы получите ошибку при запуске приложения, так как ожидаемая контрольная сумма не будет соответствовать новой версии библиотеки.
Он работает аналогично внутреннему и внешнему Javascript, если вы позволите мне это сравнение. Опция SWC похожа на встраивание Javascript в файл HTML хоста (ресурсы из SWC статически связаны (в) с вашим основным SWF). Опция RSL похожа на наличие внешнего файла JS, который загружается через <script src>
из файла HTML (ресурсы из RSL динамически связаны с вашим основным SWF.