|
Flash AS2 事件处理机制(17) { //还有使用 initialize 静态方法. EventDispatcher.initialize(this); this.tXML = new XML(); this.tXML.onLoad = Delegate.create(this, this.XMLonLoad); this.tXML.load(url); } private function XMLonLoad(success:Boolean):Void { if (success) { this.dispatchEvent({type:"complete"}); } } //---------------------------------------- } 保存文档. 这里首导入 EventDispatcher 类,你可以选择继承或不继承此类.上面的代码一个是继承,一个是不继承.区别 也很容易看出来.这里就不讲了.
示例类: 打开 EDEventExample.as 文档,输入下面的代码:
import EDEventClass; //---------------------------------------- class EDEventExample { public function EDEventExample() { var ee:EDEventClass = new EDEventClass("EDEventExample.xml"); ee.addEventListener("complete", this); } private function complete(evt:Object):Void { trace("complete"); } } 保存文档. 在示例类中我们创建主类的一个实例.来加载 EDEventExample.xml 文档.然后添加侦听器. 如果要移除事件侦听器,请使用下面的方法:
ee.removeEventListener("complete", this); 要加载的 XML 文档: 打开 EDEventExample.xml 文档,随便输入一些内容便可.测试用.
示例 fla 文档: 打开 EDEventExample.fla 文档.将"图层 1"重命名为 Actions.并在第一帧中输入下面的代码:
new EDEventExample(); 保存文档. 测试 Flash 文档.在 XML 文档成功加载后会在输出面板中显示以下内容
complete
|