经过上次的问题,很感谢 网友“突发事件”给我的原文件 在这里特别感谢他,他是一个热爱flash技术的人。
今天有部分的问题解决了,我把他的类改了一些,日后我们可以尝试调用外部加载xml的写法来想知道我们的答案。 就是对为类写监听事件有了一个新的看法。在as3.0里面
看这句:
this.dispatchEvent(new Event(Event.COMPLETE));
getmyxml.as 文件
package {
import flash.display.Sprite;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.events.*;
import flash.text.TextField;
public class getmyxml extends Sprite {
public var myxml:XML;
public var picArray:Array=new Array();
public var url:String;
public function getmyxml(myurl:String) {
myxml=new XML();
url=myurl;
var myURLRequest:URLRequest=new URLRequest(url);
var myLoader:URLLoader=new URLLoader(myURLRequest);
myLoader.addEventListener(Event.COMPLETE,OK);
}
function OK(e:Event):void {
myxml=XML(e.target.data);
var n:int=myxml.elements("*").length();
var str:String;
for (var i:int = 0; i<n; i++) {
str=(myxml.elements("*")[i]).toString();
picArray.push(str);
//trace(picArray[i]);
}
// trace(me.mypic(picArray));
// addChild(me);
//addChild(_str);
this.dispatchEvent(new Event(Event.COMPLETE));// 这个地方今天特别感兴趣,自己写的类加上监听事件
}
}
}
注:引用官方文档
将事件调度到事件流中。 事件目标是对其调用 dispatchEvent()
方法的 EventDispatcher 对象。
readmyxml.as
package {
import flash.display.Sprite;
import flash.events.*;
import flash.text.TextField;
public class readmyxml extends Sprite {
public var myarray:Array=new Array();
public function readmyxml() {
}
public function mypicture(list:Array):Array {
myarray=list;
return myarray;
}
}
}
在第一帧的写:
var okxml:getmyxml=new getmyxml("pic.xml");
addChild(okxml);
okxml.addEventListener(Event.COMPLETE,good);
function good(e:Event):void {
trace("good");
var _str:TextField=new TextField();
var me:readmyxml=new readmyxml();
_str.text=me.mypicture(okxml.picArray).toString();
addChild(_str);
addChild(me);
}
pic.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<map>
<jpg>a0.jpg</jpg>
<jpg>a1.jpg</jpg>
<jpg>a2.jpg</jpg>
<jpg>a3.jpg</jpg>
<jpg>a4.jpg</jpg>
<jpg>a5.jpg</jpg>
<jpg>a6.jpg</jpg>
</map>
在之前我把把写在文档类里面 经常尝试添加 getmyxml 里面上去,发现就一直出错
的确好像有些问题那样但是 把源文件与as文件放在同样的目录里面就会不会有事情发生,而且还可以调用自己定义的方法。
好,下次再记录些好的文章