实现多个Loader对象的同时加载功能
Loader的contentLoaderInfo侦听Event.COMPlETE事件 ,多个Loader可以共享同一个处理函数
处理函数中参数Event对象 event.target返回的是一个LoaderInfo实例,
通过LoaderInfo的name属性 可以判断出当前触发处理函数的Loader对象实例(决定处理顺序)
通过LoaderInfo的content属性 可以返回一个Loader对象,用于访问加载的实例对象
复制内容到剪贴板代码:
import flash.display.*;
import flash.net.URLRequest;
import flash.events.*;
import flash.net.*;
var request:URLRequest = new URLRequest("http://www.hwy.tctchosting.com/loadpic.php");
request.method = URLRequestMethod.POST;
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE, completeHandler);
loader.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
loader.load(request);
function completeHandler(evt:Event) {
//var picUrl:String = "images/"+evt.target.data.pic01;
var phpArray :Array= decodeURI(evt.target.data.pic).split("ab~");
for (var ar:int =0; ar<=phpArray.length-2; ar++) {
var picurl:String ="http://www.hwy.tctchosting.com/images/"+phpArray[ar];
var loadPic:Loader=new Loader();
loadPic.name = "load"+ar; //為loader物件賦上標識符
loadPic.load(new URLRequest(picurl));
loadPic.contentLoaderInfo.addEventListener(Event.COMPLETE, picResize); //共用處理函數
}
}
function picResize(event:Event):void {
var uid:int = (event.target.loader.name).substr(4); //根據當前標識符區分物件
trace((event.target.loader.name).substr(4));
event.target.content.x=uid%2*260+((uid%2)+1)*10;
event.target.content.y=int(uid/2)*180+int((uid+2)/2)*15;
event.target.content.width=260;
event.target.content.height=180;
//event.target.content.alpha=0.1;
addChildAt(event.target.content,this.numChildren);
}
function onIOError(event:IOErrorEvent):void {
trace("Error loading URL.");
}
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |