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

Flash动画制作
fmx2004 1000问(5)
Flash MX 2004 组件事件简单调试器
fmx2004 1000问(2)
Action Script 2.0新手调试
Flash 2004 MX Components
flash action 详解(9)
flash action 详解(7)
flash action 详解(1)
flash action 详解(6)
一个用纯AS写的正态曲线画法
flash action 详解(3)
浅谈AS的绘图功能及几个简单的实例
AS的基本代码解释(2)
flash action 详解(2)
flash action 详解(10)
运用for循环来对多个mc进行检测
极坐标在绘画方法中的运用
用Flash 2004编写简单的运算类
flash action 详解(4)
flash action 详解(5)

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


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

  2.6事件监听
  事件有一个习气,就是“拉帮结派”,正常情况下,某些对象是接收不到某些事件的,比方说一个动态文本就不能接受鼠标事件。如果我们编写这样的代码为一个动态文本指定事件处理代码:

  myTextField_txt.onMouseDown = function(){

  }

  当我们在它上面单击鼠标时,代码并不会执行,因为它压根就不会接收到鼠标事件。要想让它正确接受鼠标事件,必须再加上这样的代码:

  Mouse.addListener(myTextField);

  这个语句就是让myTextField向Mouse对象“报道”,这个语句执行之后,myTextField就具有了“监听”鼠标事件的功能了。 特别需要注意一点的,一旦某个对象被注册为Mouse的监听器,它将会接受到鼠标发出的所有事件,不论发生事件时鼠标是否在对象上方,根据这个原理,我们来制作一个小的鼠标监视器。

  首先向场景中添加两个文本,上面一个静态文本,下面一个动态文本,将动态文本命名为mousePosition_txt。 

     

  在影片的最后一帧上单击,打开脚本面板,输入这样的代码:


  代码很简单,第一句停下影片准备接收事件,接下来将mousePostion_Txt注册为接收鼠标事件,然后使用事件处理函数的方法捕捉onMouseMove事件并将事件发生时的鼠标位置显示到mousePostion_txt中,以上这个小程序的执行效果如下图。
         

  除了监听鼠标事件之外,我们还可以监听按键事件和场景事件:

  Key.addListener (historyArray);

  Stage.addListener (historyArray);

  监听器使用过之后可以使用removeListener将其删除,例如:

  Key.removeListener (historyArray);

  Mouse.removeListener (historyArray);

  Stage.removeListener (historyArray);