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