加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flash耗时较长的方法执行完之后再执行另一个方法 as3.0

发布时间:2020-12-15 17:58:00 所属栏目:百科 来源:网络整理
导读:floorData.as function loadFloorXML() ??{ ???//读取用户文件夹xml信息 ???var urlLoader:URLLoader = new URLLoader(new URLRequest("111.xml")); ??? ???urlLoader.addEventListener("complete",readComplete); ???urlLoader.addEventListener("ioError",

floorData.as

function loadFloorXML()
??{
???//读取用户文件夹xml信息
???var urlLoader:URLLoader = new URLLoader(new URLRequest("111.xml"));
???
???urlLoader.addEventListener("complete",readComplete);
???urlLoader.addEventListener("ioError",ioErrorHandler);
??}
??//读取xml房间信息
??function readComplete(event:Event)
??{
???//释放
???event.target.removeEventListener("complete",readComplete);
???event.target.removeEventListener("ioError",ioErrorHandler);
???
???var xml:XML = XML(event.target.data);
???if (xml==null || xml=="")
???{
????mFloorMC.addChild(Globalvariables.DrawAlert("没有房间信息"));
???}
???else
???{
????if (xml.img != null)//判断是否有房间信息
????{
?????var mAllFloorData:XMLList = xml.img; //所有的楼层数据
?????var floorData:Array = new Array();???
?????for (var m:int = 0; m < mAllFloorData.length(); m++)
?????{
??????floorData.push(mAllFloorData[m]);
?????}
?????//把读取出来的信息按照楼层号 房间号 以及 图片ID排序(升序排列)
?????floorData.sortOn(["@fcode","@rcode","@id"],Array.NUMERIC );?//
?????//for (var j:int = 0; j < floorData.length; j++ )
?????//{
?????//?trace(floorData[j].@fcode+"?? " +floorData[j].@rcode+"?? "+floorData[j].@id+"?? "+ floorData[j].@src);
?????//}
?????//循环创建5个楼层信息
?????for (var i:int = 0 ; i < 5; i++)
?????{
??????var eachFloorData:EachFloorData =? new EachFloorData();
??????//换算出数组元素下标对应的楼层号
??????//下标为0,1,2,3,4,5? 楼层号应为-2,-1,1,2,3(确定好的)
??????//当i=2,3,4的时候楼层号等于i-1,当i=0,1的时候楼层号等于i-2
??????eachFloorData.mFloorCode= i >= 2?i - 1 : i - 2;
??????this.mEachFloorData.push(eachFloorData);
?????}
?????var currentRoomCode:int = -1;? //当前房间code
?????var roomData:RoomData;?
?????for (var j:int = 0; j < floorData.length; j++)
?????{
??????//换算出楼层号对应的数组元素下标
??????//大于等于1层的,下标为楼层号+1
??????//-2 -1层的,下标为楼层号+2
??????var index:int = floorData[j].@fcode;
??????index = index >= 1?index + 1 : index + 2;
??????//循环判断当code!=当前房间code的时候实例化roomData类,当前楼层添加房间信息
??????//避免多个房间有n张图片信息的时候房间保存重复
??????if (floorData[j].@rcode != currentRoomCode)
??????{
???????currentRoomCode = floorData[j].@rcode ;
???????roomData = new RoomData();
???????roomData.mRoomCode = currentRoomCode;
???????mEachFloorData[index].addRoomData(roomData);
???????
??????}
??????//添加房间id和房间图片信息
??????roomData.addRoomImage(floorData[j].@id,floorData[j].@src);
??????
?????}
????}
????
???}
???this.dispatchEvent(new Event("XMLReadOver"));//主要语句
??}

FloorObject.as

var floorData:FloorData=new FloorData();

floorData.loadFloorXML();

floorData..addEventListener("XMLReadOver",readComplete);? //主要语句

function readComplete(event:Event) ??{ ?? ??trace(floorData.mEachFloorData.length); ??}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读