按钮中的八个动作有什么区别?
解决思路
在【影片剪辑控制】集合中还有一个与我们制做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) {