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

Flash动画制作
Flash新手入门教程:AS2代码中duplicateMOvieClip的应用
Flash新手入门教程:AS代码实现漂亮的立体球旋转效果
Flash新手入门教程:AS代码打造漂亮的螺旋上升效果
Flash新手入门教程:初识Flash的开始页面、界面、工具栏
Flash新手入门教程:文件的导出和导入
Flash新手入门教程:AS入门第一课_认识编程环境
Flash cs3仿真艺术设计3.2:遮罩运用制作飘扬的旗帜
Flash AS3.0菜鸟学飞教程:创建Bitmap类
Flash AS 3.0入门教程:初识AS 3.0
Flash cs3仿真艺术设计3.3:遮罩运用打造光圈变换效果
Flash AS3.0菜鸟学飞教程:用反射动态创建实例
Flash cs3仿真艺术设计3.4:遮罩运用制作手写字效果
Flash cs3仿真艺术设计3.5:遮罩运用之聚光灯效果
Flash AS3.0菜鸟学飞教程:代码的位置
Flash实例教程:AS 3.0打造漂亮的水汶效果
Flash cs3仿真艺术设计3.6:运用遮罩打造焦点效果
Flash AS 3.0实例教程:Main类打造发散效果
Flash cs3仿真艺术设计4.1:阴影的基本运用
Flash cs3仿真艺术设计4.2:阴影之投影的应用
Flash cs3仿真艺术设计4.3:阴影之透视阴影

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 40 ::
收藏到网摘: 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 这样的语句。
  通常在编写比较复杂的程序时,我们都倾向于使用事件处理函数来为场景中的对象设置事件处理代码,因为这样可以通过一条事件线将绝大多数代码串起来,便于代码的维护和调试。否则的话代码分散在各个对象内部,容易使代码显得比较混乱,出了问题也不容易找出错误所在。