Flash动画中按钮的八个动作

在【影片剪辑控制】集合中还有一个与我们制做flash密切相关的on命令。这个命令是专门为按钮设计的,它提供了八种按钮的事件。分别是按下,滑过,释放,滑离,外部释放,拖过,拖离和按键。最后一种是定义键盘的事件。这八种时间在我们平时的制作中经常可以用到,每一种时间都有不同的效果,下面我们就结合事例给大家分析一下。


具体步骤


首先我们制作一个简单的移动渐变动画。为了直观地说明按钮的功能,我们在第1帧加入as:stop():。如图所示。

 

 

制作一个简单的动画


  然后我们新建一层制作一个按钮,或者单击【窗口】|【其他面板】|【公用库】|【按钮】命令,打开公用库按钮面板,从里面选择一个按钮拖放到图层2的第1帧。如图所示。

 

 

拖放按钮到舞台中


  最后,也是非常重要的一点就是必须要在选中按钮的状态下,打开as面板。双击【全局变量】|【影片剪辑控制】中的on命令,此命令就会自动添加到右侧的输入栏里面。如图3.2.54所示。

 

 

on动作命令


  下面我们就详细地向大家介绍一下这八种事件的使用。


  1、press 在鼠标指针经过按钮时按下鼠标按钮。单击press,然后选择动作语句,双击【全局函数】|【时间轴控制】中的play 命令。


  完整的action是:


on(press){     //设定鼠标事件为按下,然后执行大括号里面的语句。
play();       //按钮响应后执行play(播放)动作
}


  如图所示。

 

 


press动作


  当然,在大括号里面还可以用其他的语句,比如说,gotoAndPlay(yourframe);  //点击按钮后,就会从你设置的帧播放。


  2、  release 在鼠标指针经过按钮时释放鼠标按钮。单击选择release然后与第一个事件相同加入play命令。完成的语句如下:


on(release){    //当鼠标按下释放的时候,执行下面的语句动作。
play();        //按钮响应后执行play(播放)动作。
}


  如图所示。

 

 


release动作


  可以看到,当鼠标左键按下按钮的时候,并没有激发播放动作,而是当鼠标左键放开的时候,执行了播放动作。这也是与“press”事件不同的地方。


  3、releaseOutside 当鼠标指针在按钮之内时按下按钮后,将鼠标指针移到按钮之外,此时释放鼠标按钮。 添加语句的方法同上。完整的语句如下:


on (releaseOutside) {     //当鼠标在按钮外部释放的时候执行下面的语句。
play();                  //按钮响应后执行播放动作。
}


  如图所示。

 

 

releaseOutside动作


  通过这个例子我们知道,当鼠标左键在按钮上按住并移动到按钮以外的地方放开后,触发了按钮的动作。这是一个具有非常想象力的事件,大家可以利用on的这个事件来制作游戏。


  4、rollOut 鼠标指针滑出按钮区域。制作方法同上,完整的as语句为:


on(rollover){     //当鼠标滑动到按钮上时执行下面的动作。
play();          //按钮执行播放动作。
}


  如图所示。

 

 

rollOver动作


  当鼠标指针从按钮上滑过的时候,动画就开始执行播放动作了,而不需要点击它。我们可以利用on的这个特点来制作一些图示板,非常简单有效。


  5、rollOver 鼠标指针滑过按钮。制作方法同上,完整的as语句为:


on(rollOut){     //当鼠标滑动到按钮上并离开时执行下面动作。
Play():          //按钮响应播放动作。
}


  如图所示。

 

 

rollOut动作


  滑离与滑过并不是相同的,滑离是指鼠标滑动到按钮上并离开以后开始响应,而滑过是指只要鼠标滑到按钮上,就开始执行动作。


  6、dragOut 在鼠标指针滑过按钮时按下鼠标按钮,然后滑出此按钮区域。完整的as是:


on(Drag Out){     //当鼠标拖过的时候执行下面的动作。
                  play();            //执行播放动作。
                   }


  如图所示。

 

 

dragOver动作


  拖过的效果是在按钮上点击并按住鼠标不放,移出按扭区,再移回按钮上释放的事件。注意:此例中是一个文字按钮,在做文字按钮的时候,应在文字的下方用一透明方块,以增加按钮的反应区域,或者在按钮的第4帧绘制一个矩形来增加反映区。


  7、dragOver 在鼠标指针滑过按钮时按下鼠标按钮,然后滑出此按钮,再滑回此按钮。完整的as是:


          on (dragOut) {         //当鼠标拖离按钮时执行下面的动作。
                      play();                   //执行播放动作
}


  如图所示。

 

 

dragOut动作


  拖离与拖过有所不同,只要在按钮上按住鼠标左键然后移动到按钮外就会相应。他于滑离的区别在于拖离需要按住鼠标左键。


  8、keyPress ("key") 按下指定的键。对于此参数的 key 部分,需指定键控代码或键常量。


  我们在(“key”)中键入“k”。完整地as语句为:


on (keyPress "z") {        //当按下键盘中的“z”健时执行下面的动作。
                 play();                     //执行播放动作
}


  如图所示。

 

 

keyPress动作


  注  意 ——在给动画作品添加按钮的时候应该放到单独一层,这样便于修改。


  提  示 ——on为按钮上的动作,所以我们必须首先要选中按钮,以后才可以添加on语句。有的朋友在论坛里面提问,“为什么我的on为灰色不可选状态?”原因就是你没有选中按钮。


  技  巧 ——在一般flash作品中,大家不会有意区分这些on的功能的,一般采用默认的语句。如果没有特殊说明,你使用了拖离,滑离等事件来制作“replay”按钮,会让人们摸不着头脑的。


  试一试 ——我们了解了on得这么多的功能,利用这些功能可以轻易的制作出flash课件,flash游戏里面的效果,大家不妨试一试。


  分  析——on语句的功能与按钮息息相关,有按钮的地方一定会有on语句的使用。而有flash作品的地方,就会有按钮的出现,所以说on的重要作用不可忽视。今天向大家详细地介绍了on的各种功能,我们就可以结合按钮自身的特点,发挥他们的功能。


  特别提示


  按钮时一部完整的flash作品中不可缺少的部分,所以,同样需要我们来精心制作。


  特别说明


  这一节看起来内容比较多,但是知识比较容易掌握。例如on的八个事件中,一般经常使用释放,滑过的事情,而其它事件使用频率比较少。但如果我们制作课件或者游戏等作品还是会使用到的。
文字按钮的问题,我们在前一部分中已经讲过了。一定要注意文字按钮地反应区。


  相关问题


  ◎如何制作永远也碰不到的按钮?


  我们通过on语句中的滑过事件,配合goto语句来完成这个效果。我们制作一个按钮,拖放到主场景中。复制四帧,并改变第2帧,第3针,第4帧,第5帧中按钮的位置。回到第1帧,在帧上加入stop,让动画在第1帧停止。


在第1帧的按钮中添加as:on (rollOver) {     //当鼠标经过时执行下面的动作。
                        gotoAndStop(2);    //转到并停止在第2帧。
}
   在第2帧的按钮中添加as:on (rollOver) {
                            gotoAndStop(3);
}
   在第3帧的按钮中添加as: on (rollOver) {
                           gotoAndStop(4);
}
第4帧的按钮中添加as:  on (rollOver) {
                                gotoAndStop(5);
}
第5帧的按钮中添加as:on (rollOver) {
                               gotoAndStop(1);
}


  这样我们在这五帧中形成了一个循环,依次跳转,所以你永远也点击不到这个按钮。

posted on 2010-09-20 09:45  黄兆张's Blog  阅读(2608)  评论(0编辑  收藏  举报

导航