Event事件的clone方法
2014-03-01 00:05
197 查看
在自定义事件中,一般都是继承自flash.events.event,一个鲜为人知的细节是,对于重复事件的执行(不断调动dispatcher),as3不是每次创建一个myEvent事件对象,而是克隆原对象,使用的是myEvent.clone(),而且是自动调用的。在API手册中有如下描述:
clone()返回一个新的 Event 对象,它是 Event 对象的原始实例的副本。通常您不需要调用 clone();当您重新调度事件,即调用 dispatchEvent(event)(从正在处理 event 的处理函数)时,EventDispatcher 类会自动调用它。
新的 Event 对象包括原始对象的所有属性。
当您创建自己的自定义 Event 类时,必须覆盖继承的 Event.clone() 方法,以复制自定义类的属性。如果您未设置在事件子类中添加的所有属性,则当侦听器处理重新调度的事件时,这些属性将不会有正确的值。
一般来说,自定义自己的事件都必须覆盖原Event类的clone方法,因为这样你才能在克隆方法重新传递自定义属性,这非常重要!
clone()返回一个新的 Event 对象,它是 Event 对象的原始实例的副本。通常您不需要调用 clone();当您重新调度事件,即调用 dispatchEvent(event)(从正在处理 event 的处理函数)时,EventDispatcher 类会自动调用它。
新的 Event 对象包括原始对象的所有属性。
当您创建自己的自定义 Event 类时,必须覆盖继承的 Event.clone() 方法,以复制自定义类的属性。如果您未设置在事件子类中添加的所有属性,则当侦听器处理重新调度的事件时,这些属性将不会有正确的值。
一般来说,自定义自己的事件都必须覆盖原Event类的clone方法,因为这样你才能在克隆方法重新传递自定义属性,这非常重要!
class PingEvent extends Event { var URL:String; public override function clone():Event { return new PingEvent(type, bubbles, cancelable, URL); } }不然自定义属性值将不会改变!
相关文章推荐
- Axure RP快速原型设计工具
- python多线程
- 跳槽风波的感悟
- sql 表连接总结:
- Spring集成AIXS2发布webservice
- 建立FreeBSD9的图形界面
- UITableView学习心得
- 设计
- nexus7 1代 刷4.2.2+root[转]
- 在Ubuntu上编译 emulat Android avd内核源代码(Linux Kernel)
- .net后台代码调用前台JS的两种方式
- 有关 Java ArrayList 面试中比较具有迷惑性的问题
- Linux命令最简单的使用方法
- 85万个比特币全部被盗 4.7亿美元付之东流
- 使用call_user_func调用自定义函数
- 为DevExpress扩展局部缩放功能
- virtualbox虚拟机网络配置,实现内网外网互通!
- css3 Generator
- Jetty的线程池实现QueuedThreadPool
- 导入Github的工程到Eclipse里