我有一个幻灯片,可以从这里加载带有 BulkLoader 类的图像文件。当第一个图像完全加载后,它会被添加到 MovieClip 容器中以将其添加到舞台......并且它会全屏显示,但前提是单击按钮:
fullScreenButton.addEventListener(MouseEvent.CLICK, showFull);
function showFull(e:MouseEvent):void {
stage.addChild(mcSlideHolder);
...
}
在一个单独的函数 loadAllSlides() 中使用 BulkLoader 加载图像,该函数从一开始就被调用:
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 条件,但它们都不起作用,这意味着图像没有得到过早单击按钮时,在完成加载后添加到容器中。任何帮助表示赞赏,在此先感谢