本文主要是介绍ActionScript 多图加载 按图顺序索引 加载完第一张再加载第二张,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Tag:ActionScript 加载图片 位置 顺序 多张图
1,写一个自己的EVENT类:DataEvent
package util
{
import flash.events.Event;
public class DataEvent extends Event
{
public var data:String;
public var content:Object;
public static const COMPLETE:String="ObjectLoadOver";
public function DataEvent(type:String=DataEvent.COMPLETE, bubbles:Boolean=false, cancelable:Boolean=false)
{
super(type, bubbles, cancelable);
}
}
}
2,写自己的一个Loader类:ObjectLoader
package util{
import flash.display.Loader;
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
public class ObjectLoader extends Sprite {
private var data:String;
private var ld:Loader;
public var loaded:Function;
public function ObjectLoader(url:String,addedData:String,loadExec:Function) {
ld=new Loader;
ld.contentLoaderInfo.addEventListener(Event.COMPLETE,onObjectLoaded);
ld.load(new URLRequest(url));
loaded=loadExec;
data=addedData;
addEventListener(DataEvent.COMPLETE,loaded);
}
private function onObjectLoaded(e:Event):void {
var event:DataEvent=new DataEvent();
event.data=data;
event.content=e.target.content;
trace(e.target.content);
//event.target.content=e.target.content;
if (loaded!=null) {
dispatchEvent(event);
} else {
trace("请给ObjectLoader的loaded方法赋值");
}
}
}
}
3,调用自己的Loader
public function Abcde()
{
cards=new Array(13);
for(var i:uint=0;i<13;i++)
{
var url:String="images/poke/C/"+(i+3)+".jpg";
var ol:ObjectLoader=new ObjectLoader(url,(i+3).toString(),LoadDone);
}
}
public function LoadDone(e:DataEvent):void
{
trace(e.data);
var bitmap:Bitmap=e.content as Bitmap;
bitmap.y=top;
bitmap.x=parseInt(e.data)*20+left;
cards[parseInt(e.data)-3]=bitmap;
total++;
if(total==13)
{
for(var i:uint=0;i<13;i++) {
addChild(cards[i]);
}
}
}
这篇关于ActionScript 多图加载 按图顺序索引 加载完第一张再加载第二张的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!