论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash教程
Tag:flash cs,flash 8,鼠绘,as,手绘,工具,文字,loading,入门,初学,mc,影片剪辑,声音,mtv,游戏,引导,遮罩,菜单,补间,广告条,时钟,视频教程

按钮中的八个事件有什么区别?

文章类别:Flash | 发表日期:2008-9-21 15:03:45

  

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

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


图3.2.1-11???制作一个简单的动画
然后我们新建一层制作一个按钮,或者【窗口】|【公用库】|【按钮】,打开公用库按钮面板,从里面选择一个按钮拖放到图层2的第1帧。如图3.2.1-12所示。


图3.2.1-12??拖放按钮到场景中
最后,也是非常重要的一点就是必须要在选中按钮的状态下,打开as面板。双击【动作】|【影片控制】中的on命令,右边会出现on的参数面板。如图3.2.1-13所示。


图3.2.1-13???on的参数面板
下面我们就具体地向大家介绍一下这八种事件的使用。
1,??按下:我们勾选“按下”框,然后选择动作语句,双击【动作】|【影片控制】中的play?命令。完成!
完整的action是:
on(press){?????//设定鼠标事件为按下,然后执行大括号里面的语句。
play();???????//按钮响应后执行play(播放)动作
}
当然,在大括号里面还可以用其他的语句,比如说,gotoAndPlay(yourframe);??//点击按钮后,就会从你设置的帧播放。
我们参考源文件on----1.fla,体会一下它的效果。


2,???释放:这也是flash?mx默认的按钮事件。我们勾选“释放”。与第一个事件相同加入play命令。完成的语句如下:on(release){????//当鼠标按下释放的时候,执行下面的语句动作。
play();????????//按钮响应后执行play(播放)动作。
}
我们参考一下源文件on----2.fla,可以看到,当鼠标左键按下按钮的时候,并没有激发播放动作,而是当鼠标左键放开的时候,执行了播放动作。这也是与“按下”事件不同的地方。


3,??外部释放:添加语句的方法同上。完整的语句如下:
on?(releaseOutside)?{?????//当鼠标在按钮外部释放的时候执行下面的语句。
play();??????????????????//按钮响应后执行播放动作。
}
通过这个例子我们知道,当鼠标左键在按钮上按住并移动到按钮以外的地方放开后,触发了按钮的动作。这是一个具有非常想象力的事件,大家可以利用on的这个事件来制作游戏。
参看源文件on----3.fla


4,??滑过:制作方法同上,完整的as语句为:
on(rollover){?????//当鼠标滑动到按钮上时执行下面的动作。
play();??????????//按钮执行播放动作。
}
当鼠标从按钮上滑过的时候,动画就开始执行播放动作了,而不需要点击它。我们可以利用on的这个特点来制作一些图示板,非常简单有效。参看源文件on----4.fla


5,??滑离:制作方法同上,完整的as语句为:
on(rollOut){?????//当鼠标滑动到按钮上并离开时执行下面动作。
Play():??????????//按钮响应播放动作。
}
滑离与滑过并不是相同的,滑离是指鼠标滑动到按钮上并离开以后开始响应,而滑过是指只要鼠标滑到按钮上,就开始执行动作。参看源文件on----5.fla


6,拖过:完整的as是:on(Drag?Out){?????//当鼠标拖过的时候执行下面的动作。
??????????????????play();????????????//执行播放动作。
???????????????????}
拖过的效果是在按钮上点击并按住鼠标不放,移出按扭区,再移回按钮上释放的事件。注重:此例中是一个文字按钮,在做文字按钮的时候,应在文字的下方用一透明方块,以增加按钮的反应区域,或者在按钮的第4帧绘制一个矩形来增加反映区。参看源文件on----6.fla


7,拖离:完整的as是:on?(dragOut)?{?????????//当鼠标拖离按钮时执行下面的动作。
??????????????????????play();???????????????????//执行播放动作
}
拖离与拖过有所不同,只要在按钮上按住鼠标左键然后移动到按钮外就会相应。他于滑离的区别在于拖离需要按住鼠标左键。我们可以参考一下源文件on----7.fla来体会一下。
1,??按键:我们勾选“按键”以后,右边的参数框就成可选状态。意思是利用键盘上面的按键来激发按钮执行动作。我们添入“k”。如图3.2.1-14所示。


图3.2.1-14???“按键”参数设置
完整地as语句为:on?(keyPress?"z")?{????????//当按下键盘中的“z”健时执行下面的动作。
?????????????????play();?????????????????????//执行播放动作
}


参看源文件on----8.fla
注??意?——在给动画作品添加按钮的时候应该放到单独一层,这样便于修改。
提??示?——on为按钮上的动作,所以我们必须首先要选中按钮,以后才可以添加on语句。有的朋友在论坛里面提问,“为什么我的on为灰色不可选状态?”原因就是你没有选中按钮。
技??巧?——在一般flash作品中,大家不会有意区分这些on的功能的,一般采用默认的语句。假如没有非凡说明,你使用了拖离,滑离等事件来制作“replay”按钮,会让人们摸不着头脑的。
试一试?——我们了解了on得这么多的功能,利用这些功能可以轻易的制作出flash课件,flash游戏里面的效果,大家不妨试一试。
?分??析——on语句的功能与按钮息息相关,有按钮的地方一定会有on语句的使用。而有flash作品的地方,就会有按钮的出现,所以说on的重要作用不可忽视。今天向大家具体地介绍了on的各种功能,我们就可以结合按钮自身的特点,发挥他们的功能。
非凡提示
on—1至on—8范例源文件中没有使用公用库中的按钮,目的在于让大家习惯自己制作按钮。按钮时一部完整的flash作品中不可缺少的部分,所以,同样需要我们来精心制作。

非凡说明


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


相关问题
1,??如何制作永远也碰不到的按钮?
我们通过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);
}
这样我们在这五帧中形成了一个循环,依次跳转,所以你永远也点击不到这个按钮。
参看源文件on----9.fla


2,??如何停止flash中的声音?
在“影片控制”中还有最后一个语句,就是stopAllSound。意思是关闭声音。下面这个flash事例就是利用stopAllSound制作的关闭音乐的按钮。这条语句没有参数,可以加到帧上或者按钮上。事例中的完整as为:on?(release)?{????//?当按钮按下时执行下面语句。
???????????????????????????????????????????stopAllSounds();??//停止所有声音
}
请参考源文件stopAllSound.fla

视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058