AS3.0实现外部加载图片,我要加载一千张图片加载到第五十张就弹出了,不加载了,现在想法是用缓存,第一次

AS3.0实现外部加载图片,我要加载一千张图片,写的程序是importflash.display.Loader;importflash.net.importflash.d... AS3.0实现外部加载图片,我要加载一千张图片,写的程序是
import flash.display.Loader; import flash.net.
import flash.display.Loader;
import flash.net.URLRequest;
import flash.display.MovieClip;
import fl.transitions.*;
import fl.transitions.easing.*;
var mc:MovieClip;
var i:int=0
var a1:Array=new Array();
function loaded()
{

for (var j=1; j<5; j++)
{
if(no>1000){
clearInterval(loadfunction);
break;
}
var l:Loader=new Loader();
var no:int=i+j;
var u:String="jpg/DSCN (" + no + ").jpg";
var url:URLRequest = new URLRequest(u);
l.load(url);
mc=new MovieClip();
mc.addChild(l);
mc.name="mc"+no;
mc.scaleX=.9;
mc.scaleY=.9;
stage.addChildAt(mc,0);
}
}

var loadfunction:uint=setInterval(changePic,300);
function changePic(){

if(stage.numChildren<4){
loaded();
}
if(stage.numChildren>2){
mc=MovieClip(stage.getChildAt(stage.numChildren-2));}
i++
trace(i)
if(i==5){
trace("sd");
}

setTimeout(rem,300);
}
function rem(){
stage.removeChild(mc);
}

加载到第五十张就弹出了,不加载了,现在想法是用缓存,第一次加载五张,第二次加载第六张然后释放第一章,请问有什么好的方法
展开
 我来答
zb6306
2012-05-04 · TA获得超过777个赞
知道大有可为答主
回答量:2585
采纳率:66%
帮助的人:1173万
展开全部
加载一千张,晕倒了,啥内存也受不了呀,其实释放内存在位图中有bitmapdata.dispose()方法,这要看你实际应用,如果你一次只想调用五张图片,那就先加载五张,不要一下把一千张都加载进来,写一个加载类,一次实现固定张数图片的加载,实现诸如加载进度之类的脚本,当第二次调用的时候释放内存,去掉引用,这样就可以极大节省资源,就不会存在这样的问题了。我想你的脚本水平,应该能解决这样的问题的。
更多追问追答
追问
对啊,我就是想着先加载前五张,加载第六章的时候释放第一章。
可以给个例子或者代码之类的吗?之前没做过这样的啊。谢谢!
追答
现在没空,有空写一个、。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式