Избегайте задержки во время загрузки при загрузке больших внешних SWF-файлов в основной SWF-файл - PullRequest
0 голосов
/ 09 ноября 2018

У меня есть множество больших SWF-файлов, которые я помещаю в основной SWF-файл, используя разные кнопки. Я испытываю довольно большую задержку, когда внешние SWF-файлы вызываются для загрузки и воспроизведения (из-за их размера). (Примечание: я не испытываю никаких задержек при загрузке внешних SWF-файлов при локальном воспроизведении основного SWF-файла, однако при записи на компакт-диск большие внешние SWF-файлы загружаются в основной SWF-файл очень медленно при каждом нажатии их кнопки.) Код I используйте для загрузки swfs:

var Lesson1_Loader:Loader;
Lesson1_Loader = new Loader();

Lesson1Numberbtn.addEventListener(MouseEvent.CLICK, playL1);
function playL1(e:Event):void
{
Lesson1_Loader.load(new URLRequest("Lesson1.swf"));
addChild(Lesson1_Loader);
 }

Мой вопрос: есть ли способ, чтобы внешние SWF-файлы начинали загружаться (но не воспроизводились) при открытии основного SWF-файла (в основном SWF-файле присутствует вводная анимация перед воспроизведением любых внешних SWF-файлов), чтобы при Я нажимаю каждую кнопку и добавляю ребенка для каждого внешнего SWF, он уже загружен и будет играть сразу же без задержки?

Заранее спасибо!

Обновление: я использую код временной шкалы (я не знаю, предпочитают). Я пытался эту версию:

var Lesson1_Loader:Loader;
Lesson1_Loader = new Loader();
Lesson1_Loader.load(new URLRequest("Lesson1.swf"));

Lesson1Numberbtn.addEventListener(MouseEvent.CLICK, playL1);
function playL1(e:Event):void
{
addChild(Lesson1_Loader);
 }

... однако тогда, как представляется, Lesson1.swf автоматически запускается (за кадром) в начале main.swf (я знаю это, потому что у Lesson1.swf есть звук в кадре 1, и я слышу его, однако Lesson1.swf визуально не появляется, пока я не нажму кнопку «Lesson1Numberbtn» и добавлю addChild. У самого Lesson1.swf нет «stop ();» в кадре 1, так что он воспроизводится автоматически при загрузке. Я мог бы добавить stop (); к кадру 1 из Lesson1.swf, но как мне запустить Lesson1.swf, чтобы играть с main.swf, как только я добавлю Child?

Обновите снова: Я пробовал этот код для управления воспроизведением и остановкой Lesson1.swf, но он не работает:

Lesson1_Loader.load(new URLRequest("Lesson1.swf"));
Lesson1_Loader.contentLoaderInfo.addEventListener(Event.INIT, NotYetL1 );

function NotYetL1(initEvent:Event ):void{
MovieClip(initEvent.currentTarget.content).stop();
}
...