欢迎来到天天文库
浏览记录
ID:9464917
大小:140.96 KB
页数:28页
时间:2018-05-01
《flash as2 事件处理机制》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、FlashAS2事件处理机制本教程中你将学习下面的内容:1.事件处理机制.2.创建类库.3.使用回调函数.3.1.示例:CFEventClass类(简单的示例).3.2.示例:CFTimer类(定时器).4.使用addListener方法(AsBroadcaster/BroadcasterMX类).4.1.示例:AsBEventClass类(简单的示例).4.2.示例:AsBTimer类(定时器).5.使用addEventListener方法(EventDispatcher类).5.1.示例:EDEventClass类(简单的示例).5.2.示例:EDTimer类(定时器).6.建立强大的事件
2、处理机制.6.1.创建CFDelegate类(修改Delegate类).6.2.创建CFEventDispatcher类(修改EventDispatcher类).6.3.创建Event类(事件基类,继承Object类).6.4.创建IOErrorEvent类(错误事件类,继承Event类).6.5.创建HTTPStatusEvent类(http状态事件类,继承Event类).6.6.示例:EventClass类(简单的示例).6.7.示例:Timer类(定时器,功能跟AS3中的Timer类一样).7.小结.源文件(LRC和CFSound类也在这):FlashClassLibrary.rar[1
3、.事件处理机制]AS2的事件处理机制并不完美.形态多样.不易于管理.在这里可以解决此问题的一半.本文会先了解和使用AS2中基本的事件处理机制.然后建立强大的事件处理机制.来方便管理自己的程序.下面讲解.形态多样的事件处理机制(后面会详细的讲解):1.回调函数.(如onLoad,onHTTPStatus等)2.使用addListener方法.(如onLoadStart,onLoadInit等)3.使用addEventListener方法.(如click,change等)它们的作用域和形态(代码):作用域是指标识符(如常量、数据类型、变量或例程)在程序内可被引用的范围.1.this指向触发此事件的
4、对象object.onLoad=function(){trace(this);//输出:object}2.this指向侦听器对象varlistenerObject:Object={};listenerObject.onLoadStart=function(){trace(this);//输出:listenerObject}broadcasterObject.addListener(listenerObject);3.使用侦听器对象:this指向侦听器对象12345678910...下一页>>[感谢阅读这篇文章,..,]varlistenerObject:Object={};list
5、enerObject.click=function(evt:Object){trace(this);//输出:listenerObject}broadcasterObject.addEventListener("click",listenerObject);使用函数:this指向触发此事件的对象functionclickHandler(evt:Object):Void{trace(this);//输出:broadcasterObject}broadcasterObject.addEventListener("click",clickHandler);有时我们需要更改它们的作用域怎么办?想要改变
6、它们的作用域,需使用Delegate类的create方法.此类的全路径:mx.utils.Delegate;用法:Delegate.create(要运行函数的范围,函数);例:1.this指向_level0importmx.utile.Delegate;object.onLoad=Delegate.create(this,_onLoad);function_onLoad():Void{trace(this);//输出:_level0}2.this指向_level0importmx.utile.Delegate;varlistenerObject:Object={};listenerObject
7、.onLoadStart=Delegate.create(this,loadStart);functionloadStart():Void{trace(this);//输出:_level0}broadcasterObject.addListener(listenerObject);3.使用侦听器对象:this指向_level0importmx.utile.Delegate;varlistenerO
此文档下载收益归作者所有