Краткий ответ: Нет.
Длинный ответ: поскольку вы используете Loaders и URLRequests, каждый ресурс должен быть доступен как внешний запрос. Вы просите простой способ заставить их указывать на активы внутри вашего SWF, что невозможно. Однако, если вы немного измените свой рабочий процесс, вы можете найти способ, который будет приемлем с точки зрения изменений кода и принесет пользу вам в долгосрочной перспективе.
Если вы используете редактор, такой как Flash Builder, FDT, FlashDevelop или IntelliJ, вам следует изучить множество применений SWC-файлов. Вы можете установить флажок «экспортировать как SWC» в настройках публикации Flash IDE, что будет создавать SWC каждый раз, когда вы проверяете (Cmd + Enter) FLA-файл. Вы можете импортировать этот SWC-файл в выбранный вами редактор и ссылаться на любые символы вашего исходного fla-файла как классы AS3. При компиляции флэш-компилятор берет ваши исходные ресурсы и встраивает их в получившийся SWF-файл, который вы затем можете распространить на любой понравившийся веб-сайт портала. PNG и WAV самые простые, для .plist вам нужно использовать метатег [Embed(...)]
. Преимущества, связанные с наличием одного SWF-файла, также заключаются в том, что вам не нужно предварительно загружать каждый отдельный актив и что все создание активов выполняется в одном потоке. Нет больше спагетти слушателей событий для загрузки активов!
Убедитесь, что вы правильно назвали свои символы и свойства связей для использования SWC. Вы можете использовать стандартный формат пакета, чтобы легко находить ваши активы, например, называть символ fla.icons.GreyLogo
или fla.homepage.BackgroundGraphic
. Если у вас есть правильное направление import fla.icons.GreyLogo
, вы можете получить логотип, позвонив по номеру
.
var logo:GreyLogo = new GreyLogo();
Вот статья, которая более детально описывает эту тему. Если я правильно пойму вашу настройку, будет много работы, но она может оказаться полезной в будущих проектах.
Приветствия
EP.