FLASH as3 中外部加载图片 顺序被打乱了

[code]varsm:Array=newArray();varnum:int=0;varpic_arr:Array=["1.gif","2.gif","3.jpg","... [code]
var sm:Array=new Array();
var num:int=0;
var pic_arr:Array=["1.gif","2.gif","3.jpg","4.jpg","5.jpg"];

public function main() {
for(var i:uint=0;i<pic_arr.length;i++){
var imgloader:Loader=new Loader();
imgloader.contentLoaderInfo.addEventListener(Event.COMPLETE,SavePic);
imgloader.load(new URLRequest(pic_arr[i]));
}
}

//保存加载的图片
private function SavePic(evt:Event):void{
sm[num]=new MovieClip();
sm[num].addChild(evt.target.loader);

stage.addChild(sm[num]);
sm[num].y=num*190;

num++;
if(num>=pic_arr.length){
//……
}
}
[/code]
本来想的是图片按照1 2 3 4 5 排列。可是事实不是如此
最终排列顺序是 5 4 1 2 3
展开
 我来答
FlashASer

2012-04-19 · Animate,Photoshop,职场经验,人生感悟!
FlashASer
采纳数:14298 获赞数:18657

向TA提问 私信TA
展开全部
var sm:Array=new Array();
var num:int=0;
var pic_arr:Array=["1.gif","2.gif","3.jpg","4.jpg","5.jpg"];

public function main() {
loadImage(num);
}
private function loadImage(index:int):void
{
var imgloader:Loader=new Loader();
imgloader.contentLoaderInfo.addEventListener(Event.COMPLETE,SavePic);
imgloader.load(new URLRequest(pic_arr[index]));
}
//保存加载的图片
private function SavePic(evt:Event):void{
sm[num]=new MovieClip();
sm[num].addChild(evt.target.loader);

stage.addChild(sm[num]);
sm[num].y=num*190;

num++;
if(num>=pic_arr.length){
//……
}
else if(num<pic_arr.length)
{
loadImage(num);
}
}
微测检测5.10
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇... 点击进入详情页
本回答由微测检测5.10提供
帐号已注销
2012-04-19 · TA获得超过516个赞
知道大有可为答主
回答量:1788
采纳率:86%
帮助的人:956万
展开全部
这样处理的结果是,哪个先加载完,先显示哪个,加载几乎是同时的,但完成不会按照你期望的顺序。
追问
怎样处理才能按照顺序来?
追答
让队列等待或者事件安排好显示的位置

参考资料:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式