知不知道 发表于 2009-3-17 08:05:13

Flash MX 2004 ActionScript图文教程(八)

2.1鼠标和键盘事件
  鼠标事件可以说是应用最多的事件了,所以我们就从鼠标事件下手来看看当用户在屏幕上挥动鼠标时,Flash应该如何作出反应。

  2.1.1鼠标按下(on(press))
  如果某个界面元素(比如一个按钮或者一个影片剪辑的实例)的代码中含有on(press)这样的事件处理代码,那么当用户在这个界面元素上按下鼠标时,on(press)后面的大括号中的代码就会被执行。

  2.1.2鼠标释放(on(release))
  这个事件在鼠标健释放的时候发生,这个事件通常都是在on(press)之后发生的,有press才能有release嘛!举个例子来说,当我们需要处理用户单击某个按钮的事件时,就可以为这个按钮添加一个on(release)事件处理。尽管在这种情况下on(press)和on(release)的作用是相似的,因为通常press之后总会release,但是我们还是应当尽量使用on(release),为什么呢?因为如果使用on(press)会让你的按钮“过于敏感”——轻轻一按,代码立刻就被执行了,如果用户发现自己按错了,可就没有后悔药吃了。而当使用on(release)时,一旦用户发现按错了,可以按住鼠标按钮不放,将鼠标指针移动到按钮之外释放,代码就不会被执行,这才是比较人性化的按钮行为。

  2.1.3在外部释放鼠标(on(releaseOutside))
  当用户在某个按钮或者影片剪辑实例上按下鼠标(注意,是按下鼠标按钮不放),然后拖动鼠标指针,在这个按钮或者影片剪辑实例外面再释放鼠标,这时就会发生releaseOutside事件。我们可以在这个按钮或者影片剪辑的事件处理代码中添加on(releaseOutside)来捕获并处理这个事件。

  2.1.4鼠标悬停(on(rollOver))
  当鼠标指针在某个界面元素上面时,rollOver事件就会发生。这个事件最典型的应用是用来制作鼠标指向某个按钮或者影片剪辑实例时产生的反馈效果:比如按钮颜色变化、弹出菜单或者执行其他的一些操作。

  2.1.5鼠标移出(on(rollOut))
  这个事件和rollOver相对,很显然,当鼠标指针在一个界面元素上方运动时产生rollOver事件,那么鼠标指针移出这个界面对象的时候就会产生rollOut事件。rollOut事件的出路iherollOver事件的处理经常是成对出现的,比方说,我们捕捉rollOver事件,在on(rollOver)中弹出了了一个菜单,那么很显然我们还需要捕捉rollOut事件,在on(rollOver)中添加适当的代码将弹出的菜单隐藏起来,否则菜单就会一直显示在界面上。

  2.1.6拖动掠过(on(dragOver)
  拖动操作我们都很熟悉,就是鼠标在某个对象上按下以后不释放,然后拖动鼠标。dragOver事件就是当鼠标指针处于拖动状态时经过某个对象时发生的事件。在制作拖动效果时,我们经常要和这样的事件打交道。

  2.1.7拖动移出(on(dragOut))
  从名字也能看出来,dragOut和dragOver恰好相反,也就是当鼠标处于拖动状态下时从一个对象上法移动出去时发生的事件。

  2.1.8键盘事件(On(keypress”<>”))
  当我们需要捕捉用户的按键操作时都需要使用这个事件,比方说如果需要捕获用户按下方向键左键的操作时可以使用On(keypress””),其他的以此类推。
页: [1]
查看完整版本: Flash MX 2004 ActionScript图文教程(八)