AS3-无序XML IMG加载
我有以下代码可在我的项目中加载拇指和完整图像:AS3-无序XML IMG加载,xml,actionscript-3,image,preloader,Xml,Actionscript 3,Image,Preloader,我有以下代码可在我的项目中加载拇指和完整图像: private function processXMLHandle(e:Event):void { var xml:XML = new XML(e.target.data); for each (var line:XML in xml.IMAGE) { var file:String = line.@THUMB;
private function processXMLHandle(e:Event):void
{
var xml:XML = new XML(e.target.data);
for each (var line:XML in xml.IMAGE)
{
var file:String = line.@THUMB;
var loader:Loader = new Loader();
loader.load(new URLRequest(file));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
var fileFull:String = line.@FULL;
var loaderFull:Loader = new Loader();
loaderFull.load(new URLRequest(fileFull));
loaderFull.contentLoaderInfo.addEventListener (Event.COMPLETE, completeFullHandler);
}
myXMLLoader.removeEventListener(Event.COMPLETE, processXMLHandle);
}
当我推送我为此创建的数组时,图像以未排序的顺序出现
我的一个朋友告诉我,事情是这样的:“小文件先提交”。他告诉我装载机有问题,但他帮不了我
谁能告诉我怎么了
谢谢 看起来您正在循环浏览包含图像列表的给定XML文档,并在循环中异步加载图像。在这样做时,显然较小的图像将首先完成,从而引发Event.COMPLETE事件。这是因为您要求flash立即同时加载所有图像 您可能想做的是先加载第一个映像,然后在循环中同步加载映像…当执行images Event.COMPLETE时,继续加载下一个映像,依此类推,直到它们全部完成。这样做将迫使应用程序按照XML中定义的顺序加载图像,并且一次加载一个图像,有点像队列
祝你好运 实现这一点的最佳方法是对代码进行多一点结构 首先,创建一个类(我们称之为ImageLoader),负责加载thumb和完整图像。这将是一个包含2个加载程序实例的类。为每个项创建此类的实例,并在开始之前将它们推入数组中 数组已满后,迭代数组,指示ImageLoader实例启动。此方法将依次调用其每个装入器实例的装入方法 两台装载机完成后,表示已完成
在更高级别,在包含ImageLoader实例数组的同一类中,侦听每个ImageLoader实例发出的自定义事件。把他们算进去。当您计算完数组中的项目数后,加载就完成了,数组的顺序与开始时相同,拇指和完整图像可以方便地分组。Ralph,谢谢您的回答。。但是你有没有关于我如何做到这一点的例子?斯宾德,谢谢你的解释。这对我来说真的很有意义,但我无法执行。我正在学习动作脚本,它对我来说太复杂了。