第五节 脚本设计基础
一、Flash脚本介绍
ActionScript是用来向Flash应用程序添加交互性语言的,此类应用程序可以是简单的SWF动画文件,也可以是更复杂的功能丰富的应用程序。不使用ActionScript也可以使用Flash,但是如果要提供基本或复杂的与用户的交互、希望以其他方式让Flash作品具有更好的用户体验,则需要使用ActionScript。
按下“F9”即可打开编写ActionScript的动作面板,如图23-32所示。
图23-32 动作面板
在Flash中,可以将代码添加到Flash的关键帧、空关键帧、按钮、影片剪辑中。
(1)在给某关键帧或空关键帧添加代码时,播放到该关键帧,帧中的代码即被执行。添加代码时,先点击指定的关键帧,然后按下“F9”,在动作面板中添加代码。后面在开关动作面板添加修改代码时都使用“F9”。
(2)给按钮添加的代码将在按钮上发生相应事件时执行,例如按钮被按下等。代码格式为:
on(事件名)
{
//要执行的代码放在这里
}
代码中的事件指在按钮上发生的鼠标或键盘动作,如press,release,rollOver等。on(事件)可理解为当发生某事件时,这也就是所谓的事件驱动。图23-32中的代码就是在释放按钮时复制一个新的剪辑,并重新设置其坐标与旋转角度。
不过这种写法现在已经不推荐了,目前使用的是以下写法,而且以下代码是全部放在关键帧中的,不放在按钮下。
按钮实例名.onRelease= function()
{
//要执行的代码放在这里
}
假定图23-32中的代码是属于按钮ButtonX的,则可将以下代码填入到按钮所在的关键帧。
ButtonX.onRelease= function()
{
NewClipNo++;
varnewClip=″newClip″+NewClipNo;
duplicateMovieClip(_root.ClipX,newClip,NewClipNo);
setProper ty(newCl ip,_y,Math. random()*600);
setProper ty(newCl ip,_x,Math. random()*600);
setProperty(newCl ip,_rotation,Math. random()*
360);
}
一定要注意的是不能忘了在属性面板中设置按钮的名称: ButtonX。
在课件设计中,为了实现多个Flash画面的切换,需要用按钮下的代码来实现导航。这种导航在PowerPoint中是用超链接或按钮来实现的。Flash中需要自己设计按钮,或者使用公用库中的按钮,添加代码来实现。当然,Flash中设计的按钮形式是多种多样的,可以是纯文本,或有1~4种形态的图形,或是其1~4帧中含动画剪辑等。
(3)类似地,还可以给剪辑添加代码。
二、代码中常用的属性与函数
(一)代码中常用的属性
1._ alpha
用来设置透明度,例如当释放按钮ButtonX时将剪辑clip001的透明度设为30%,可将以下代码放在按钮下:
on(release)
{
_root.clip001._alpha=30;
}
或将以下代码放在关键帧中:
ButtonX.onPress= function()
{
clip001._alpha=30;
}
现在推荐的是后一种写法。
2._ currentframe,_ totalframes
分别获取当前播放头所在的帧数和总帧数。例如要跳到当前帧后第10帧开始播放,可输入语句: gotoAndPlay(_ currentframe+10)。
3._ height
获取影片剪辑的高度。
4._ width
获取影片剪辑的宽度值。
5._ x,_ y
分别获取对象的x和y坐标值。
6._ xmouse,_ ymouse
分别获取鼠标的x和y坐标值。
7._ xscale,_ yscale
分别获取或设置对象的x方向和y方向的缩放比例。
8._ rotation
获取或设置对象旋转的角度值。
9._ root
指示当前层的最顶层时间轴。
(二)代码中常用的函数
1. fscommand函数
使SWF文件与Flash播放器进行通信,例如fscommand(“fullscreen”,true);放在第一个关键帧中时,可使Flash播放器一开始播放就满屏,与PowerPoint的满屏演示效果是一样的。在Flash中测试时不会满屏,只有单独运行播放的作品时才有效,如果没有设置关闭功能,可按下“Alt+ F4”。
2.getProperty函数
获取影片剪辑的指定属性的值。
3.setProperty函数
在播放过程中更改剪辑的属性,如位置、缩放、旋转、透明度等。
4.play函数
在时间轴中继续移动播放头。
5.stop函数
停止当前正在播放的SWF文件。这个函数通常放在课件的第一个关键帧中,也就是课件封面出现后即停止播放,等待点击按钮后继续后面的内容。在课件设计中常用play、gotoAndPlay、gotoAndStop、nextFrame、preFrame来解除stop。
6.stopAllSounds函数
在不停止播放动画的情况下停止SWF文件中当前正在播放的所有声音。
7.gotoAndPlay函数
将播放头转到场景中指定的帧并从该帧开始播放。如果未指定场景,则播放头将转到当前场景中的指定帧。只能在根时间轴上使用scene(场景)参数,不能在影片剪辑或文档中的其他对象的时间轴内使用该参数。在以后的课件设计中,该函数起到了很重要的导航作用,以便跳转到指定位置开始播放。此函数参数建议使用帧标签名。
8.gotoAndStop函数
将播放头转到场景中指定的帧并停止播放。如果未指定场景,播放头将转到当前场景中的帧。只能在根时间轴上使用scene参数,不能在影片剪辑或文档中的其他对象的时间轴内使用该参数。在以后的课件设计中,该函数也起到了导航作用,可以跳转到指定位置并停止。此函数参数建议使用帧标签名。
9.prevFrame函数
将播放头转到前一帧。如果当前帧为第1帧,则播放头不移动。
10.prevScene函数
将播放头转到前一场景的第1帧。
11.duplicateMovieClip函数:当SWF文件正在播放时,创建一个影片剪辑的实例。例如已有某个单词剪辑显示在屏幕左上方,通过该函数可以复制一个或多个相同的单词剪辑,然后通过后面的设置属性函数setProperty将其放大,重设坐标后显示在屏幕其他位置。
12. removeMovieClip函数
删除指定的影片剪辑。
13. loadMovie函数
在播放SWF文件时,将SWF、JPEG、GIF或PNG文件加载到Flash Player中的影片剪辑中。这使一个大的课件的设计可以分给多个人去完成,当然事先要定义好规格,以后主SWF文件在运行过程中的适当时候可将其他人员设计的SWF载入播放。
14.nextFrame函数
将播放头转到下一帧。功能类似于PowerPoint中的点击一下即播放下一页的功能。其功能是先执行play函数,然后在下一帧遇到stop函数而停止的功能的综合,特别适用于相邻帧都是关键帧的情况,否则就应该使用gotoAndStop函数。
15.nextScene函数
将播放头转到下一场景的第1帧。
16.on处理函数
指定触发动作的鼠标事件或按键。
17.onClipEvent处理函数
触发为特定影片剪辑实例定义的动作,触发事件有load、mouseDown、keyDown等。
18.onSoundComplete处理函数
声音结束播放时自动调用。可以使用此处理函数在声音播放完毕后触发SWF文件中的事件。例如利用该事件,可实现播放声音时一个喇叭正在振动,声音播放完后则自动停止振动。
19.startDrag函数
使target影片剪辑在影片播放过程中可拖动。一次只能拖动一个影片剪辑。执行startDrag操作后,影片剪辑将保持可拖动状态,直到用stopDrag显式停止拖动为止。在课件设计中,如果一个单词剪辑和图形剪辑显示在屏幕中,在授课过程中要将它们拖到别的位置,像移动贴在黑板上的磁铁或图片一样,就得使用startDrag了,当然需要配合使用stopDrag函数。再如,设计单词拖放搭配的课件部分时也要用到该函数。
20.stopDrag函数
停止当前的拖动操作。
21. random函数
自Flash Player 5后不推荐使用,而推荐使用Math. random()。它返回一个随机整数,此整数介于0和小于在value参数中指定的整数之间。这在设计课件时要使屏幕上按随机顺序出现所准备好的题库内容时非常有用。
ActionScript2.0语言比较复杂,内容较多,限于篇幅,仅介绍了一部分应用较多的属性和函数,更多细节可以打开Flash的帮助,在ActionScript2.0语言参考下找到,如图23-33所示。
图23-33 ActionScript 2.0语言参考
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。