2302/090
Flash-AS2和AS3的加载
在AS2里,加载图片和swf,使用loadMovie/loadMovieNum或者loadClip方法即可,如:
function initList (_mc:MovieClip, numStart:Number, numEnd:Number) {
for (var i:Number = numStart; i < numEnd; i++) {
_mc.createEmptyMovieClip ("e_avatar" + i, 1000 + (numEnd - i));
_mc["e_avatar" + i].createEmptyMovieClip ("loader", 1000 + i);
_mc["e_avatar" + i].loader.loadMovie(i+".jpg");
_mc["e_avatar" + i]._x=Math.random()*stageW;//随机摆放
_mc["e_avatar" + i]._y=Math.random()*stageH;
}
}
相对AS2而言,AS3更加规范,加载方法统一成了load方法,例子如下:
function initList (_evt:Event):void {
var userXML = XML(userLoader.data);
var userNum=userXML.children().length();
for (var i:uint=0; i<userNum; i++) {
var e_avatarLdr:Loader = new Loader();//建立loader对象
var e_avatarURL:String = userXML.item[i].avatar;//载入文件名称
var e_avatarURLReq:URLRequest = new URLRequest(e_avatarURL);//建立载入接收对象
e_avatarLdr.load (e_avatarURLReq);//使用load方法加载e_avatarURLReq
e_avatarLdr.contentLoaderInfo.addEventListener (Event.COMPLETE, e_avatarLoaded);//载入完成后响应
function e_avatarLoaded (_evt:Event):void {
userAvatar.addChild (_evt.target.content);//把载入的对象加入容器
_evt.target.content.x=Math.random()*stageW;//随机摆放
_evt.target.content.y=Math.random()*stageH;
}
}
}
从例子中我们可以发现,AS2和AS3的加载机制几乎完全不同,具体内容可以参阅Flash CS3自带的帮助文档哈。