Предварительный загрузчик AS3 с внешними файлами swc

У меня есть проект, созданный из многих внешних библиотек swc, которые включаются во время компиляции.

Обычно создание предварительного загрузчика включает в себя снятие флажка «экспорт во фрейме 1» для всех классов, а затем размещение их во 2-м фрейме, чтобы Flash по-прежнему мог получить к ним доступ.

Однако с swc все классы находятся в отдельных библиотеках файлов swc. Когда я снимаю флажок «экспорт в кадре 1», я не могу получить к ним доступ из основного FLA-файла, и поэтому flash просто не может их найти и выдает ошибки, говоря, что эти классы не существуют. Как мне сделать так, чтобы они правильно загружались с помощью прелоадера (вместо того, чтобы загружать все сразу до отображения прелоадера), даже если они находятся в других файлах?

Короче говоря, как я могу правильно создать предварительный загрузчик, если я использую несколько файлов SWC во время компиляции?

Спасибо


person user3754283    schedule 18.06.2014    source источник
comment
Почему бы вам просто не сделать отдельный swf для прелоадера и не загружать основной контент через Loader? Таким образом, вам не придется так сильно полагаться на Flash CS.   -  person Marton Pallagi    schedule 19.06.2014
comment
К сожалению, это невозможно, поскольку для распространения игра должна быть одним файлом. Должен быть способ использовать внутренний предварительный загрузчик при работе с несколькими swc.   -  person user3754283    schedule 19.06.2014


Ответы (1)


Вы неправильно понимаете, что такое SWC. Несмотря на то, что они являются внешними файлами во время разработки, они являются важной частью вашего скомпилированного приложения при публикации. Если вы включите swc размером 50M, ваше приложение станет на 50M больше, и ваш прелоадер будет с этим справляться. Никаких обходных путей.

person BotMaster    schedule 19.06.2014
comment
Вы неправильно поняли мой вопрос. файлы swc являются частью игры, но не могут быть предварительно загружены. Вместо этого весь SWF-файл загружается с пустым экраном еще до того, как появится предварительный загрузчик. Обычно, чтобы он работал, весь контент должен находиться во фрейме 2, что невозможно, когда контент находится в других файлах SWF, а не в основном файле fla. - person user3754283; 19.06.2014
comment
Я прекрасно понимаю и, как я уже сказал, это невозможно. - person BotMaster; 19.06.2014
comment
Итак, вы говорите, что если я включу swc на 50 МБ, тогда SWF должен будет загрузить все 50 МБ перед отображением предварительного загрузчика, поскольку предварительные загрузчики не могут правильно загружать включенное содержимое swc после отображения загрузчика? (Я думал, вы только что сказали мне, что + 50 МБ swc = + 50 МБ swf) - person user3754283; 19.06.2014
comment
Да вот что я говорю. Я не думаю, что возможен обходной путь из-за того, как swcs обрабатываются во время компиляции. Если они содержат графику / звуки, вам следует подумать о том, чтобы добавить их как swf или даже загрузить их отдельно. - person BotMaster; 19.06.2014