《动作脚本入门教程.ppt》由会员分享,可在线阅读,更多相关《动作脚本入门教程.ppt(33页珍藏版)》请在三一办公上搜索。
1、第11章 动作脚本入门,动作脚本入门 添加动作脚本的方法 时间轴控制函数 影片剪辑属性和控制函数 浏览器/网络函数,授课老师:杨海平,11.1 动作脚本入门,动作:动作是在播放SWF文件时指示SWF文件执行某些任务的语句。对象:是面向对象程序设计的核心和基本元素,对象把一系列的数据和操作该数据的代码封装在一起,从而使得程序设者在编程时不必关心对象内部的设计。属性:用于定义对象的特性,如是否可见、颜色和尺寸等。,11.1.1 认识动作脚本,下面是Flash动作脚本的一些基本概念:,方法:是与对象相关的函数,通过这些函数可操纵对象或了解与对象相关的一些信息。事件:是播放SWF文件时发生的动作。内置
2、对象:内置对象是在动作脚本语言中预先定义的。例如,内置的Date对象可以提供系统时钟的信息。,11.1.2 动作脚本语法规则,下面为大家介绍动作脚本的语法规则:,1区分大小写,在Flash CS3中,所有关键字、类名、变量、方法名等均区分大小写。例如goto和 GOTO在动作脚本中被视为互不相同。,2点语法,在动作脚本中,点“.”用于指示与对象或影片剪辑相关的属性或方法,它还用于标识影片剪辑、变量、函数或对象的目标路径。点语法表达式以对象或影片剪辑的名称开头,后面跟着一个点,最后以要指定的元素结尾。,3大括号、分号与小括号,大括号:动作脚本事件处理函数、类定义和函数用大括号“”组合在一起形成块
3、。分号:动作脚本语句以分号“;”结束。小括号:在定义函数时,需要将所有参数都放在小括号中。,4注释,通过在脚本中添加注释,有助于用户理解动作脚本的含义,并可以向其他开发人员提供信息。要指示某一行或一行的某一部分是注释,只要在该注释前加两个斜杠“/”即可。,5关键字,动作脚本保留一些单词用于该语言中的特定用途,例如变量、函数或标签名称,它们不能用作标识符,我们称其为关键字。下表列出了所有动作脚本关键字:,Break case class continueDefault delete dynamic elseExtends for function getIf implements importi
4、nInstanceof interface intrinsic newPrivate public returnsetstatic switch this typeofvar void while with,11.1.3 动作脚本可以加在什么地方,在Flash中,我们可以将动作脚本添加在关键帧、影片剪辑实例和按钮实例上。,添加了动作脚本的关键帧,将动作脚本添加到关键帧上时,只需选中关键帧,然后在“动作”面板中输入相关动作脚本即可,添加动作脚本后的关键帧会在帧的上面出现一个“”符号。,在影片剪辑和按钮实例上添加动作脚本时,需要用“选择工具”选中舞台上的实例,然后在“动作”面板中为其添加脚本。需要
5、注意的是,只能为主时间轴或影片剪辑内的关键帧添加脚本,不能为图形元件和按钮实例内的关键帧添加脚本。,11.1.4 实例名称和路径,1实例名称,这里所指的实例包括影片剪辑实例、按钮元件实例、视频剪辑实例、动态文本实例和输入文本实例,它们是Flash动作脚本面向的对象。,为实例定义名称,要定义实例的名称,只需使用“选择工具”选中舞台上的实例,然后在“属性”面板中输入名称即可。,2绝对路径,要利用动作脚本控制一个实例的播放,不仅需要知道该实例名称,还需要知道该实例的路径。实例的路径分为绝对路径和相对路径,我们先来看绝对路径。,使用绝对路径时,不论在哪个影片剪辑中进行操作,都是从主时间轴(用_root
6、表示)出发,到影片剪辑实例,再到下一级子影片剪辑实例,一层一层地往下寻找,每个影片剪辑实例之间用“.”分开。,3相对路径,相对路径是以当前实例为出发点,来确定其他实例的位置。,课堂练习扬帆远航,扬帆远航,下面,利用前面所学知识,制作一个单击舞台就播放动画的实例,具体操作步骤请参考书中内容。,11.2 添加动作脚本的方法,11.2.1 为按钮实例添加动作脚本,在按钮实例上添加动作脚本命令语句时,必须先为其添加on事件处理函数,on函数的语法格式为:on(鼠标事件)此处是语句,用来响应鼠标事件,在Flash中,鼠标事件主要有以下几种:,press:表示在按钮上单击鼠标左键时触发动作(即执行什么命令
7、语句)。,release:在该按钮上按下鼠标左键,接着松开鼠标时触发动作。releaseOutside:在按钮上按下鼠标左键,接着将鼠标移至按钮外,松开鼠标时触发动作。rollOver:鼠标光标放在按钮上时触发动作。rollOut:鼠标光标从按钮上滑出时触发动作。dragOver:按着鼠标左键不松手,光标滑入按钮时触发动作。注意rollOver是没有按下鼠标,这里是按下鼠标。dragOut:按着鼠标左键不松手,光标滑出按钮时触发动作。keyPress:其后的文本框处于可编辑状态,在其中按下相应的键输入键名,以后当按下该键时可触发动作。,同一个按钮实可以被附加许多不同的事件处理程序段,下面利用一
8、个小实例说明:,打开素材文档 为按钮添加脚本,1.打开素材文档。,2.选中按钮元件,打开“动作”面板,然后在“脚本输入窗口”中输入下图所示的脚本命令。,按快捷键【Ctrl+Enter】测试影片,我们会发现当按下鼠标左键时动画暂停,当释放鼠标左键后,动画继续播放。,11.2.2 为影片剪辑实例添加动作脚本,在影片剪辑实例上添加动作脚本命令语句时,必须先为其添加onClipEvent事件处理函数。onClipEvent函数的语法格式为:onClipEvent(系统事件)此处是语句,用来相应事件,Flash中,系统事件主要有以下几种:,Load:载入影片剪辑时,启动此大括号里的动作。unload:在
9、时间轴中删除影片剪辑实例之后,启动大括号里的动作。,enterFrame:只要影片剪辑在播放,便会不断地启动大括号里的动作。mouseMove:每次移动鼠标时启动动作。mouseDown:当按下鼠标左键时启动动作。mouseUp:当释放鼠标时启动动作。keyDown:当按下某个键时启动动作。keyUp:当释放某个键时启动动作。,mouseDown:当按下鼠标左键时启动动作。mouseUp:当释放鼠标时启动动作。keyDown:当按下某个键时启动动作。keyUp:当释放某个键时启动动作。,11.3 时间轴控制函数,时间轴控制函数用来控制动画中时间轴(播放头)的播放进程,时间轴控制函数可以加在关键
10、帧、按钮实例、影片剪辑实例上。,时间轴控制函数,在“动作”面板中展开“全局函数”“时间轴控制”,可以看到Flash内置有哪些时间轴控制函数。,1nextFrame();,从当前帧跳转到下一帧并停止播放。例如,为某按钮添加如下脚本,这样单击并释放按钮后,动画将从当前帧跳到下一帧并停止播放。on(release)nextFrame();,2prevFrame();,从当前帧跳转到前一帧并停止播放。其语法格式和使用方法同nextFrame();语句相同。,3nextScene();,跳转到下一个场景并停止播放。当有多个场景时,可以使用此命令使各场景产生交互。,4prevScene();,跳转到前一个
11、场景并停止播放。,5stopAllSounds();,在不停止播放动画的情况下,使当前播放的所有声音停止播放。例如,为某按钮添加如下脚本,这样单击并释放按钮后,将停止播放动画中的声音。on(release)stopAllSounds();利用这个命令可以制作静音按钮。,11.4 影片剪辑属性和控制函数,11.4.1 影片剪辑属性,下面我们是一些常用的影片剪辑属性:,_alpha:影片剪辑实例的透明度。有效值为0(完全透明)到100(完全不透明)。默认值为100。_rotation:影片剪辑实例的旋转角度(以度为单位)。从0到180的值表示顺时针旋转,从0到-180的值表示逆时针旋转。不属于上述
12、范围的值将与360相加或相减以得到该范围内的值。,_visible:确定影片剪辑实例的可见性,当影片剪辑实例的_visible值是true(或者为1)时,实例可见;当实例的_visible的值是false(或者为0)时,实例不可见。_height:影片剪辑实例的高度(以像素为单位)。_width:影片剪辑实例的宽度(以像素为单位)。_xscale:影片剪辑实例的水平缩放比例。_yscale:影片剪辑实例的垂直缩放比例。_x:影片剪辑在舞台上的x坐标(整数,以像素为单位)。_y:影片剪辑在舞台上的y坐标(整数,以像素为单位)。,11.4.2 影片剪辑控制函数,影片剪辑控制函数是用来控制影片剪辑的
13、命令语句。,影片剪辑控制函数,在“动作”面板中展开“全局函数”“影片剪辑控制”,可以看到Flash内置有哪些影片剪辑控制函数。,1duplicateMovieClip();,duplicateMovieClip语句的作用是复制影片剪辑,它经常被用来制作下雨、下雪等效果。其语法格式为:duplicateMovieClip(目标,新名称,深度);其中参数的意义如下:,目标:要复制的电影剪辑的名称和路径。新名称:是复制后的电影前辑实例名称。深度:已经复制电影剪辑的堆叠顺序编号。每个复制的影片剪辑都必须设置唯一的深度,否则后来复制的电影剪辑将替换以前的复制的影片剪辑,新复制的电影剪辑总是在原电影剪辑的
14、上方。,2setProperty();,setProperty语句用来设置影片剪辑属性,格式为:setProperty(目标,属性,值);其中参数的意义如下:,目标:需要设置属性的影片剪辑实例路径和实例名。属性:要控制何种属性,例如透明度、可见性、放大比例等。值:属性对应的值。,3getProperty();,getProperty语句用来获取某个影片剪辑实例的属性。常常用来动态地设置影片剪辑实例属性。格式为:getProperty(目标,属性);其中参数的意义如下:,目标:被取属性的影片剪辑实例名称。属性:取得何种属性。,4removeMovieClip();,removeMovieClip
15、语句用来删除用duplicateMovieClip语句复制的影片剪辑实例,其格式为:removeMovieClip(复制的影片剪辑实例路径和名称);,5startDrag();,startDrag语句用来在播放动画时,拖拽影片剪辑实例。格式为:名称.startDrag(锁定,左,上,右,下);其中参数的意义如下:,名称:要托拽的影片剪辑实例名称和路径。锁定:表示拖动时中心是否锁定在鼠标,ture表示锁定,false表示不锁定。左、上、右、下:设置拖拽的范围,注意该范围是相对于未被拖动前的影片剪辑实例而言。,6stopDrag();,stopDrag语句用来停止拖动舞台上的影片剪辑实例,格式为:
16、stopDrag();,下面通过一个小实例来了解startDrag与stopDrag语句的应用:,复制并放大位图,1.打开素材文档,在“图层1”上方新建“图层2”,将“图层1”上的位图原位复制到“图层2”并适当放大。,创建影片剪辑,为影片剪辑实例添加动作脚本 创建遮罩层,2.在“图层2”上方新建“图层3”,然后在“图层3”上使用“椭圆工具”绘制一个正圆形,并将其转换为“正圆”的影片剪辑。,3.选中“图层3”上的影片剪辑实例,然后打开“动作”面板,为其输入图中所示的动作脚本。,4.在“图层3”上右击鼠标,从弹出的快捷菜单中选择“遮罩层”菜单。,课堂练习制作下雪效果,下雪效果,下面,利用dupli
17、cateMovieClip();命令,制作一个下雪效果的动画实例,具体操作步骤请参考书中内容。,11.5 浏览器/网络函数,1getURL();,getURL语句可为按钮或其他事件添加网页网址,也可以用来向其他应用程序传递变量,格式为:getURL(网址,窗口,变量);其中各参数的意义如下:,网址:在其中输入要链接的网址,必须在网址前面加上http:/,否则无法链接。,窗口(可选参数):可选择以什么方式打开链接,其中“_self”表示在当前的浏览器打开链接;“_blank”表示在新窗口打开链接;“_parent”表示在当前位置的上一级浏览器窗口打开链接;“_top”表示在当前浏览器上方新开一个链接。变量(可选参数):用来规定参数的传输方式,其中“用GET方式发送”表示将参数列表直接添加到url之后,与之一起提交,一般适用与参数较少且简单的情况;“用POST方式发送”表示将参数列表单独提交,在速度上会慢一些,但不容易丢失数据,适用与参数较多较复杂的情况。,2fscommand();,fscommand命令主要用来控制动画播放窗口。其格式为:fscommand(命令,参数);下表为fscommand命令可以执行的命令和参数。,课堂练习链接网站,链接网站,下面,利用浏览器/网络函数,制作一个链接网站的动画实例,具体操作步骤请参考书中内容。,