У меня есть слайд-шоу, которое загружает файлы изображений с классом 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, но ни одно из них не сработало, то есть изображение не добавляется в контейнер после завершения загрузки, если кнопка нажата слишком рано.
Любая помощь приветствуется, спасибо заранее