Flash MX 2004 编程(AS2.0)教程(十三)

编程|教程

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

时间: 2024-09-01 22:57:23

Flash MX 2004 编程(AS2.0)教程(十三)的相关文章

Flash MX 2004 编程(AS2.0)教程(六)

编程|教程 1.4.4代码编写 现在开始进入最麻烦的步骤--代码编写,我们将会接触到很多新的东西. 1.文本文件数据加载 在最开始的时候,我们曾建立一个文本文件,将其命名为"subtrahend.txt",存在.fla文件所在的目录下,这个文件中包含有程序需要读取的参数,现在我们就要编写代码将这些数据读取出来. 选中"脚本"层中的第一帧,然后打开行为面板,输入这样的代码: var externalData:LoadVars = new LoadVars(); ext

Flash MX 2004 编程(AS2.0)教程(一)

编程|教程 第1章入门 ActionScript是一种编程语言,Flash专用.ActionScript的语法类似Javascript或者Java,如果你以前接触过这两种语言,你会发现ActionScript非常易懂易用.即便你没有接触过Java或者Javascript,掌握和运用ActionScript也绝非什么难事. 1.1ActionScript的演变过程 ActionScript是不断发展的,最早出现在Flash 5种,目前的最新版本是ActionScript 2.0,已经趋于成熟.Fl

Flash MX 2004 编程(AS2.0)教程(五)

编程|教程 1.3.4独立脚本文件 打开菜单"文件->新建",从新建文档对话框中选择"动作脚本文件"可以建立独立.AS文件,这种文件的最大优点是可以重复使用.比方说,你在一个项目中建立的脚本可以放在独立的.AS文件中,其他项目要使用到类似的功能,你就可以直接调用这个.AS文件中的代码.这样可以大大提高开发效率,减少代码的冗余程度. 1.4第一个脚本程序 下面我们通过一个非常简单的ActionScript程序演示ActionScript的操作过程,虽然这个例子看

Flash MX 2004 编程(AS2.0)教程(二)

编程|教程 1.3ActionScript编辑器 Flash MX 2004中提供了一个非常易用的ActionScript编辑器,这一小节我们就来熟悉这个编辑器的使用方法. 1.3.1启动ActionScript编辑器 在Flash MX 2004中打开菜单"窗口-〉开发面板-〉动作"(快捷键F9)即可打开ActionScript编辑器. 1.3.2ActionSctipt编辑器的结构 从图中可以看出,ActionScript编辑器由四个部分组成 脚本面板 这个区域相当于一个文本编辑器

Flash MX 2004 编程(AS2.0)教程(十二)

编程|教程 2.4影片剪辑事件 相对于前面所介绍的鼠标事件.键盘事件以及帧事件而言,影片剪辑事件则显得稍为有点难懂.当我们将一个影片剪辑放到场景中时,他就成了一个"事件发射器",不断地报告自己的运行状态,如果我们捕获这样的事件,就可以做出相应的反应和处理.影片剪辑有多种,下面分门别类地加以介绍. 2.4.1onClipEvent(Load)和onClipEvent(unload) 这个事件在影片剪辑加载的时候发生,那什么是影片剪辑的加载呢?比方说,你在场景中添加了一个影片剪辑clip_

Flash MX 2004 编程(AS2.0)教程(十一)

编程|教程 2.3.2.2图片的自动切换 1.回到主场景中,将上一步制作好的影片剪辑拖放到场景中并将其命名为picture_mc,调整其长度为45帧. 2.添加一个动态文本,命名为message_txt,我们将用它来显示倒计时,倒计时完成时,picture_mc中的图片自动切换.另外还要添加一个名称为caption_txt的动态文本,它将显示图片的标题,由影片剪辑picture_mc自身的代码来控制. 3.新建一个层,命名为倒计时,调整其长度为45帧左右,在0.15.30帧处,分别添加帧事件,代

Flash MX 2004 编程(AS2.0)教程(十)

编程|教程 2.3帧事件 2.3.1帧事件简介 帧事件和前面介绍的鼠标事件以及键盘事件的主要区别在于,帧事件并不是一个交互式的事件.每当影片播放指定的帧时,帧事件内部的代码就会被执行.在Flash的开发环境中,帧事件在时间线上会有一个"a"标记. 在具体的设计中,帧事件的用处是非常多的.比方说影片的第1帧总是受到垂青的,因为我们一般总是要在这一帧当中对程序进行一些初始化操作,比方说定义变量.函数等等.再比如,在很多交互式的程序中,我们一般要在需要等待用户输入(比如单击一个按钮)的时候,

Flash MX 2004 编程(AS2.0)教程(九)

编程|教程 2.2实例 前面简要介绍了一下几种常用的鼠标事件,下面我们就通过一个完整的例子来综合运用一下这些事件. 首先建立一个场景,向其中添加三个影片剪辑实例,名称命名为hand_mc.message_txt.eventTrapper_btn和dragTest_mc,hand_mc用来替换鼠标.message_txt是一个动态文本,显示反馈信息,eventTrapper_btn是按钮实例,用来捕捉各种鼠标事件,dragTest_mc则用来演示拖动事件的处理. 2.2.1自定义鼠标 我们经常需要

Flash MX 2004 编程(AS2.0)教程(八)

编程|教程 2.1鼠标和键盘事件 鼠标事件可以说是应用最多的事件了,所以我们就从鼠标事件下手来看看当用户在屏幕上挥动鼠标时,Flash应该如何作出反应. 2.1.1鼠标按下(on(press)) 如果某个界面元素(比如一个按钮或者一个影片剪辑的实例)的代码中含有on(press)这样的事件处理代码,那么当用户在这个界面元素上按下鼠标时,on(press)后面的大括号中的代码就会被执行. 2.1.2鼠标释放(on(release)) 这个事件在鼠标健释放的时候发生,这个事件通常都是在on(pres