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

Flash动画制作
Flash5键盘鼠标应用(二)
Freehand和Flash的结合应用(4)
Flash5 有声音的三眼狼(二)
Freehand和Flash的结合应用(7)
Freehand和Flash的结合应用(10)
Freehand和Flash的结合应用(12)
Flash5 位移操作(二)
Flash5制作水波倒影效果(二)
Flash5任意两点间随机画线(三)
Flash 神奇遮罩之原理篇(3)
Flash 神奇遮罩之动态篇
Flash 神奇遮罩之图片篇(1)
Flash MX 视频导入功能详解(5)
利用Flash MX模板制作XML动态菜单(1)
用动作脚本动态创建和控制文本框 (6)
FW MX和Flash MX的亲密合作(2)
FW MX和Flash MX的亲密合作(5)
Flash中音量和左右声道平衡的控制(2)
Flash MX的AS绘图和时间控制 下
Flash5 有声音的三眼狼(四)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 66 ::
收藏到网摘: 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语句被执行。