У меня есть слайд-шоу, которое загружает файлы изображений с помощью класса BulkLoader из здесь. Когда первое изображение загружается полностью, оно добавляется в контейнер MovieClip, чтобы добавить его на сцену... и отображается в полноэкранном режиме, но только при нажатии кнопки:
fullScreenButton.addEventListener(MouseEvent.CLICK, showFull);
function showFull(e:MouseEvent):void {
stage.addChild(mcSlideHolder);
...
}
Загрузка изображения с помощью BulkLoader в отдельной функции loadAllSlides(), которая вызывается с самого начала:
imageLoader = new BulkLoader("imgLoader");
imageLoader.add(new URLRequest(paths[0]), {id:"slide_0});
imageLoader.get("slide_0).addEventListener(Event.COMPLETE, onFirstSlideLoaded);
imageLoader.start(1);
И в процессе загрузки:
function onFirstSlideLoaded(e:Event):void
{
firstImage = imageLoader.getBitmap(e.currentTarget.id);
currentImage.addChild(firstImage);
mcSlideHolder.addChild(currentImage);
mcSlideHolder.dispatchEvent(new Event("firstImgAdd"));
}
Это отлично работает, если только не нажата кнопка fullScreenButton до полной загрузки изображения, тогда, конечно, ничего не видно. Как получить событие нажатия кнопки, которое вызывает showFull() для ожидания загрузки/добавления изображения в контейнер, или как я могу добавить его снова? Каков возможный/наилучший подход?
Я попытался отправить пользовательское событие "firstImgAdd", которое снова добавляет изображение в контейнер при нажатии кнопки fullScreenButton, а также с помощью блока try/catch или даже простого условия if, но ни одно из них не сработало, то есть изображение не получает добавляется в контейнер после того, как он закончил загрузку, когда кнопка нажата слишком рано. Любая помощь приветствуется, заранее спасибо