AS3.0教程(7):强大的事件机制(3) 占个座位先
18 十一 2006
| AS3.0教程(7):强大的事件机制(3) | |||
| 来源: 作者:黑羽(KingdaSun) (2) addEventListener语法的不同,原因,和const型必要性和用法
本例是3.0,如果你trace一下其中的MouseEvent.CLICK,输出的也是字符串"click"。 看起来AddEventListener的方法和以前也没什么大的出入。和这世界上大多数相同的事物一下,表象的类似却掩盖着本质的巨大差异。 我们先从最小的差异讲起: 1.使用类静态属性,用const定义事件字符串名称变量AS3.0中用了一个新的关键字定义了事件名称字符串变量,代码是
const,是英文constant的缩写,意思使不变的,常量。那就意思很明白了,一旦这种类型的常量被定义就不可再更改。好处通俗的说就是规范好项目,规范你自己,也规范任何其他项目人员,动不了这个变量。 看看代码,我们还发现AS3.0中侦听器也发生变化了,只能用function来做侦听器,不再用Object。 2.addEventListener高级运用AS3.0中对侦听器的改进远远不止以上这些,看一看addEventListener的实现接口:
哇塞,有三个莫名奇妙的参数。可是当你知道这三个参数背后隐藏的巨大改进之后,相信你要大叫三个哇塞。第一个神秘参数,目前暂不解释,埋个伏笔,留到EventDispatcher那一节,讲Actionscript3崭新的Event Flow事件流机制.第二个参数:优先级。 有趣吧,在Actionscript 3.0中我们可以控制事件的优先级,从而达到控制function侦听器的执行顺序。如果你不填这个参数,那么事件默认为同一个级别0,事件的执行按先来后到的天经地义的顺序。如果设为1,那么事件级别降一个档次,稍后执行。数字越高优先级越高。级别可以为负数。(注意: Flex Builder 2 Beta3中事件级别是越低越高) 好好利用这个功能吧,在AS2.0中要想达到同样效果可不知道要多费多少力气! 兄弟们初学As2.0时一定经常忘了在删除Listener对象时,却忘了removeEventListener吧。这会导致很多莫名奇妙的情况发生。也是最常见的诡异bug种类之一。即使老鸟偶尔也会被阴一把。 最郁闷的是这种情况往往不被发现,在后台默默的消耗大量资源。 从AS3.0引入这个弱引用这个概念就可以看出,AS3.0是如何的重视资源管理和有效率的运用。一个标准的重量级的程序语言必须具有这样的特征。 下一节: |
- No Comments , 15 次阅读 Hits
-
标签:ActionScript3, FLASH CS3

最活跃用户