Flash AS3教程:下雪动画效果(2)

http://www.itjxue.com  2015-07-17 23:39  来源:未知  点击次数: 

  AS3的事件侦听机制

  什么是事件呢?当某件事情发生的时候就做些什么事。这个某件事情就是事件。比如:press,当鼠标按下的时候,这就是一个事件。在AS2中,我们有两种方式来实现事件驱动。一种是将代码直接写在元件上(mc或按钮)。比如,在场景中有一个叫mymc的影片剪辑元件,我们在其上点右键,打开动作面板,输入:

  on(press){

  干点坏事;

  }

  这样,当我们在mymc元件上按下鼠标时,就会去干点坏事。第二种方法是在帧动作上输入代码:

  mymc.onPress = function(){

  干点坏事;

  }

  这样,当我们在mymc元件上按下鼠标时,同样会去干点坏事。

  接下来,我们在AS3中来看看:在元件上点右键,打开动作面板,你会看到“无法将动作应用于当前所选内容”。哦嗬,搞不成。在AS3中无法将代码写在元件上,只能写在帧动作上。而AS3的事件侦听,也有它自已,的格式,不管你乐意不乐意,你都必须这样做。AS3在事件侦听格式是:

  function 函数名称(事件对象:事件类型):void

  {

  // 此处是为响应事件而执行的动作。

  }

  触发事件的对象.addEventListener(事件类型.事件名称, 函数名称);

  必须先声明一个函数,将要执行的代码放在其中,然后触发事件的对象用addEventListener去侦听事件,如果事件发生则调用函数。还用上面那个干坏事的例子。打开帧动作面板,输入:

  function 干坏事(event:MouseEvent):void {

  干点坏事;

  }

  mymc.addEventListener(MouseEvent.CLICK,干坏事);

  这样,当我们在mymc元件上按下鼠标时,会再一次去干点坏事。上面代码中的MouseEvent是鼠标事件的意思,CLICK是单击的意思,即在元件上单击就会触发事件。

(责任编辑:IT教学网)

更多

推荐Flash actionscript文章