当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash 动作脚本之:资料速查(16)

Flash动画制作
Flash动画绘画实例:卡通版大眼睛小女孩
Flash实例教程:方块动画特效制作
Flash as入门(20):制作时钟的实例教程
Flash AS自定义函数提高程序执行效率
Flash AS3教程:制作鼠标感应图片转动
给你的flash减减肥
Flash教程:广告也有记忆
Adobe Flash教程:赋予人物会动的关节
初试 Flash CS4 的新功能
小软件制作漂亮的flash相册
Flash游戏制作:敌人穷追不舍的动画研究
Flash实例:制作晃动光线文字特效
Flash CS3教程:快速模糊变化文字动画
Flash动画制作技巧:动物行走动画制作揭秘
Flash实例教程:飞机阴影跟随飞机飞翔
Flash技巧:组合技巧制作吸引人的动画
Flash模糊滤镜制作动感模糊文字动画
flash动画技巧:制作2.5D动画
Flash CS3动画制作:精密角色动画设计技巧
2009年国际十大最好的Flash网站

Flash动画制作 中的 Flash 动作脚本之:资料速查(16)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 25 ::
收藏到网摘: n/a

解剖一个脚本范例

    

解剖一个脚本范例


  为了让大家对动作脚本有个大概的认识,本讲对一个脚本进行了剖析。

  在下面这个动画范例中,当用户把小虫拖到捕杀器上时,小虫变黑并掉下去,捕杀器闪动。此动画的长度是一帧,包含两个对象:小虫电影剪辑实例和捕杀器电影剪辑实例。每个电影剪辑也包含一帧。

  本动画中仅有一个脚本,被附加给小虫实例。在Object Actions(对象动作)面板中的情况如下所示: 

 

  两个对象都是电影剪辑,这样你才能在实例面板中赋给它们实例名,并用动作脚本处理他们。小虫的实例名是bug,捕杀器的实例名是zapper。因为脚本是附加给bug的,因此,在脚本中bug可以用this来引用。关键字this是指调用脚本的对象。

  在这个脚本中,有两个onClipEvent事件处理程序和两个不同的事件:load和enterFrame。 onClipEvent(load) 语句中的动作在动画载入时仅执行一次。onClipEvent(enterFrame)语句中的动作每当播放头进入一帧时都执行。即使是在单帧动画中,播放头仍然重复进入那一帧,脚本也就被重复执行。下面的动作发生在每个onClipEvent事件处理程序中:

  onClipEvent(load) :一个startDrag动作使小虫电影剪辑可以拖放。在本事件处理程序中,使用new操作符和Color(颜色)构造函数创建了一个 Color(颜色)对象的实例,并被赋给变量zap:

onClipEvent (load) {	startDrag (this, true);	zap = new Color(this);}


  onClipEvent(enterFrame) :一个条件if语句执行hitTest动作,以检查小虫实例(this)是否碰到捕杀器实例(_root.zapper)。 有两种可能的计算结果,true(真)或false(假):

onClipEvent (enterFrame) {	if (this.hitTest(_root.zapper)) {	zap.setRGB(0);	setProperty (_target, _y, _y+50);	setProperty (_root.zapper, _alpha, 50);	stopDrag ();	} else {	setProperty (_root.zapper, _alpha, 100);	}}


 如果hitTest动作返回true,load事件创建的zap对象被用来把小虫的颜色设置为黑色。小虫的y属性(_y)被设置为本身加上50,使小虫往下掉。捕杀器的透明度(_alpha)被设置为50,使它变暗。stopDrag动作停止小虫被拖动。

  如果hitTest动作返回false,else语句下面的动作被执行,捕杀器的_alpha值被设置为100。它的_alpha值从初始状态(100)变为捕杀到小虫状态(50),然后又恢复到初始状态,这就使得捕杀器象闪烁一样。在小虫被捕杀和掉下来之后,hitTest动作返回false,else语句被执行。