快速业务通道

Flash AS 教程:帧循环

作者 凌众技术 来源 网页制作 浏览 发布时间 2012-03-10
新(screen refresh)都是非常重要的。

事件及事件处理

Flash MX 的 ActionScrpt 发生了重要的改变,这些转变与革新为 Flash 成为真正的富客户端程序(RIA)奠定了基础。其中一个就是全新的事件结构,在编写非常复杂的行为时比之前的版本好用很多。 Flash MX 之前的版本,只能把代码放在影片和按钮的 onClipEvent(eventName) 或 on(eventName) 这两种事件处理方法中。这就意味着,在设计的时候就要把影片剪辑放到舞台上,并把代码写入影片剪辑中。MX 的事件结构并不完美,但与之前版本来说已经有了长足的进步,并允许我们在任何时候访问任何事件,或是停止处理任何事件,或是动态改变某个事件的行为,可以想象这有多么的强大和灵活。

要想了解事件,就要明白下面几条概念:侦听器(lintener)与处理函数(handler),这两个名字很贴切,侦听器就是侦听事件的对象,处理函数是一个用于处理所要发生的事件的函数。侦听与处理在 ActionScript 的发展过程中进行过很多次演变,在 AS 2 中就有很多不同的实现方法。为了避免混乱,我很推崇 AS 3,因为它简化了这个过程,使事件处理变得更方便更一致。

事件侦听器与处理函数

前面说过,侦听器是一个用于侦听事件的对象。我们可以设计一个类,通过调用addEventListener 函数为某事件指定一个侦听器。输入要侦听的事件名称以及要执行处理的函数名称。看一个例子:

addEventListener("enterFrame", onEnterFrame);

在加入事件侦听器时,可使用可选参数,本书中不会用到;对于大多数的应用程序来说,会使用以上这种写法就够用了。请注意事件名"enterFrame"为字符串型,戏称它为“魔力字符串”(Magic String)。为什么这么叫?如果你误输入成了"entorFrame",尽管没有这个事件名称,编译器也会编译执行它,会发现事件处理函数没有执行。但 AS 3 仍会对其进行处理,除了使用“魔力字符串”以外,还可以使用事件类(Event Class)的属性。例如:

addEventListener(Event.ENTER_FRAME, onEnterFrame);

实际上 Event.ENTER_FRAME 的值就是”enterFrame”这个字符串。那么这个属性也可能输错就像 Event.ENTOR_FRAME ,但这种方法好在,如果输入错误了,程序会拒绝编译,并提示你在事件类中不存在该属性。编译器会提示发生错误的行及确切的字符。所以,最好使用这种方法,除非编译器会帮我们修正错误或编写代码。
除此之外,还有其它的事件类型如:MouseEvent.MOUSE_DOW

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号