当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash MX 2004 ActionScript图文教程(十三)

Flash动画制作
Flash MX 2004播放器版本检测
Macromedia将发布新版Flash
Flash MX 2004的绘图新工具
微软Sparkle将取代Flash?
Macromedia给FlashMX升级
Flash和FW合作旋转文字动画
AS代码2.0:新的语言元素
AS代码2.0:脚本编辑和调试
AS代码2.0:面向对象模型
Flash MX 2004时间轴特效实例
Flash MX 2004行为功能初体验
想说透明也容易 课件导入图片背景透明技巧
Flash MX 2004对DRK组件兼容性
Flash MX 2004 总览
Flash MX 2004 支持的HTML标签
Flash MX 2004 支持的 css
Flash MX 2004新功能:行为1
LOADING的测试
LOADING制作方法
商业Flash设计经验谈(速度感)

Flash动画制作 中的 Flash MX 2004 ActionScript图文教程(十三)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 38 ::
收藏到网摘: n/a

  2.5事件处理函数

  说完了常用的事件,在来说说事件处理的两种不同方式。前面介绍的事件处理代码的方法是这样添加的:首先,选择将要捕获事件的对象(影片剪辑实例或者按钮),接着,打开脚本面板,然后编写“on 事件名称”的代码。比方说,如果我们要让一个影片剪辑实例捕捉mouseDown事件,那么可以先在场景中选择这个影片剪辑实例(假设其名称为movieClip_mc),然后为其设置如下等的代码。
  onClipEvent(mouseDown) {
  }
  这种方法用起来简洁直观,但是它有一个缺点是——交互性不足。怎么说呢?这种方法建立起来的事件处理代码是“固定”的,不能在程序运行的过程中动态更改。比方说,我们如果我们希望这个影片剪辑在影片播放到第10帧的时候使用某一段代码来处理mouseDown事件,但是当影片播放到第20帧的时候,我们有需要另外一段代码来处理mouseDown事件。这样的应用你是不是没有遇到过,来举一个直观的例子说,我们都使用过电视机的遥控器,电视机的遥控器上很多按钮都是“多模态”的,也就是说,这些按钮在不同的状态下功能是不同的。调节声音的按钮在正常状态下是用来提高和减小音量的,但是如果你进入了颜色设置模式时,按同样的按钮调节的不再是音量而是颜色了。
  仍然举上面的例子来说明,如果我们在影片的某一个帧中加入这样的代码
  movieClip_mc.onMouseDown = function() {
  }
  就可以实现对事件处理代码的动态切换了。这个语句比较特殊,它是说,将影片剪辑实例movieClip_mc的onMouseDown事件处理代码用function()代替,而function()后面的大括号中就是新的事件处理代码。你可以影片中多次使用这种方法,只要每次后面function()函数的内容不同就可以实现事件处理代面的动态调整了。需要注意的时候,使用这种方法定义事件处理代码是,影片剪辑实例必须出现在场景中,当它从场景中消失后,事件处理代码将会自动删除,如果要再次使用,必须重新指定。如果想删除时间的处理代码可以使用 delete movieClip_mc.onMouseDown 这样的语句。
  通常在编写比较复杂的程序时,我们都倾向于使用事件处理函数来为场景中的对象设置事件处理代码,因为这样可以通过一条事件线将绝大多数代码串起来,便于代码的维护和调试。否则的话代码分散在各个对象内部,容易使代码显得比较混乱,出了问题也不容易找出错误所在。