您好,欢迎访问三七文档
第13章使用动作脚本制作交互动画动作脚本入门添加动作脚本的方法时间轴控制函数影片剪辑属性和控制函数浏览器/网络函数动态文本13.1动作脚本入门13.1.1动作脚本的基本概念动作:动作是在播放SWF文件时指示SWF文件执行某些任务的语句。对象:是面向对象程序设计的核心和基本元素,对象把一系列的数据和操作该数据的代码封装在一起,从而使得程序设者在编程时不必关心对象内部的设计。属性:用于定义对象的特性,如是否可见、颜色和尺寸等。方法:是与对象相关的函数,通过这些函数可操纵对象或了解与对象相关的一些信息。事件:是播放SWF文件时发生的动作。内置对象:内置对象是在动作脚本语言中预先定义的。常量:常量就是一种属性,是指在程序运行中不会改变的量。变量:变量就是程序运行中可以改变的量,比如a=1;“a”就是一个变量,后面的“1”是为它赋的值,我们可以对它进行修改。13.1.2动作脚本语法规则1.区分大小写在FlashCS3中,所有关键字、类名、变量、方法名等均区分大小写。例如goto和GOTO在动作脚本中便被视为互不相同。2.点语法在动作脚本中,点“.”用于指示与对象或影片剪辑相关的属性或方法,它还用于标识影片剪辑、变量、函数或对象的目标路径。点语法表达式以对象或影片剪辑的名称开头,后面跟着一个点,最后以要指定的元素结尾。大括号:动作脚本事件处理函数、类定义和函数用大括号“{}”组合在一起形成块。分号:动作脚本语句以分号“;”结束。小括号:在定义函数时,需要将所有参数都放在小括号中。3.大括号、分号与小括号4.注释要指示某一行或一行的某一部分是注释,只要在该注释前加两个斜杠“//”即可。5.关键字动作脚本保留一些单词用于该语言中的特定用途,例如变量、函数或标签名称,它们不能用作标识符,我们称其为关键字。下表列出了所有动作脚本关键字:breakcaseclasscontinuedefaultdeletedynamicelseextendsforfunctiongetifimplementsimportininstanceofinterfaceintrinsicnewprivatepublicreturnsetstaticswitchthistypeofvarvoidwhilewith13.1.3动作脚本可以加在什么地方在Flash中,我们可以将动作脚本添加在关键帧、影片剪辑实例和按钮实例上。添加了动作脚本的关键帧选中关键帧,然后在“动作”面板中输入相关动作脚本即可将动作脚本添加到关键帧上,添加动作脚本后的关键帧会在帧的上面出现一个“α”符号13.1.4“动作”面板的使用动作面板脚本命令列表框在Flash中进行的编程,都是在“动作”面板中完成的,按【F9】键或选择“窗口”“动作”菜单即可打开“动作”面板对象查看列表框脚本输入窗口脚本助手展开“动作”面板的脚本命令列表框,双击需要的动作语句进行添加。展开“动作”面板的脚本命令列表框,将需要的动作语句拖到脚本输入窗口。直接在脚本输入窗口中输入要添加的动作语句。单击脚本输入区上方的按钮,从弹出的菜单中选择要添加的动作语句。选择要添加动作脚本的对象后,在“动作”面板中可以通过下列任意一种方法为其添加脚本:“脚本助手”模式下“goto”命令的参数对脚本进行检测在“脚本助手”模式下为对象添加动作脚本,Flash会根据对象的不同,自动安排脚本格式,用户只需根据提示设置参数即可手动输入脚本命令后,可单击“语法检查”按钮进行测试,检测结果会列在“输出”面板中,如果没有错误,则会弹出如图所示的对话框13.1.5实例名称、绝对路径和相对路径1.实例名称为实例定义名称要定义实例的名称,只需选中舞台上的实例,然后在“属性”面板中输入名称即可2.绝对路径使用绝对路径时,不论在哪个影片剪辑中进行操作,都是从主时间轴(用_root表示)出发,到影片剪辑实例,再到该影片剪辑实例包含的子级影片剪辑实例,再到下一级子影片剪辑实例,一层一层地往下寻找,每个影片剪辑实例之间用“.”分开。3.相对路径相对路径是以当前所在的实例为出发点,去寻找其它实例。典型实例——扬帆远航扬帆远航本例操作步骤可参考视频:13-1.avi。13.2添加动作脚本的方法13.2.1为按钮实例添加动作脚本在按钮实例上添加动作脚本命令语句时,必须先为其添加on事件处理函数,on函数的语法格式为:on(鼠标事件){此处是语句,用来响应鼠标事件}press:表示在按钮上单击鼠标左键时触发动作。release:在该按钮上按下鼠标左键,接着松开鼠标时触发动作。releaseOutside:在按钮上按下鼠标左键,接着将鼠标移至按钮外,松开鼠标时触发动作。rollOver:鼠标光标放在按钮上时触发动作。在Flash中,鼠标事件主要有以下几种:rollOut:鼠标光标从按钮上滑出时触发动作。dragOver:按着鼠标左键不松手,光标滑入按钮时触发动作。注意rollOver是没有按下鼠标,这里是按下鼠标。dragOut:按着鼠标左键不松手,光标滑出按钮时触发动作。keyPress:其后的文本框处于可编辑状态,在其中按下相应的键输入键名,以后当按下该键时可触发动作。13.2.2为影片剪辑实例添加动作脚本在影片剪辑实例上添加动作脚本命令语句时,必须先为其添加onClipEvent事件处理函数。onClipEvent函数的语法格式为:onClipEvent(系统事件){此处是语句,用来相应事件}Load:载入影片剪辑时,启动此大括号里的动作。unload:在时间轴中删除影片剪辑实例之后,启动大括号里的动作。enterFrame:只要影片剪辑在播放,便会不断地启动大括号里的动作。mouseMove:每次移动鼠标时启动动作。Flash中,系统事件主要有以下几种:mouseDown:当按下鼠标左键时启动动作。mouseUp:当释放鼠标时启动动作。keyDown:当按下某个键时启动动作。keyUp:当释放某个键时启动动作。13.3时间轴控制函数1.stop“stop”语句的作用是将动画停止在当前帧。语法格式为:stop();2.play“play”语句的作用是使停止播放的动画从当前位置继续播放。语法格式为:play();3.gotoAndPlay“gotoAndPlay”语句通常加在关键帧或按钮实例上,作用是当动画播放到某帧或单击某按钮时,跳转到指定的帧并从该帧开始播放。“gotoAndPlay”语句的语法格式为:gotoAndPlay(scene,frame);4.gotoAndStopgotoAndStop的作用是当播放头播放到某帧或单击某按钮时,跳转到指定的帧并从该帧停止播放。其语法格式和使用方法同gotoAndPlay语句相同。5.nextFrame();从当前帧跳转到下一帧并停止播放。例如,为某按钮添加如下脚本,这样单击并释放按钮后,动画将从当前帧跳到下一帧并停止播放。on(release){nextFrame();}6.prevFrame();从当前帧跳转到前一帧并停止播放。其语法格式和使用方法同nextFrame();语句相同。7.nextScene();跳转到下一个场景并停止播放。当有多个场景时,可以使用此命令使各场景产生交互。8.prevScene();跳转到前一个场景并停止播放。9.stopAllSounds();在不停止播放动画的情况下,使当前播放的所有声音停止播放。例如,为某按钮添加如下脚本,这样单击并释放按钮后,将停止播放动画中的声音。on(release){stopAllSounds();}典型实例——密码锁密码锁本例操作步骤可参考视频:13-2.avi。13.4影片剪辑属性和控制函数13.4.1影片剪辑属性_alpha:影片剪辑实例的透明度。有效值为0(完全透明)到100(完全不透明)。_rotation:影片剪辑实例的旋转角度(以度为单位)。从0到180的值表示顺时针旋转,从0到-180的值表示逆时针旋转。不属于上述范围的值将与360相加或相减以得到该范围内的值。visible:确定影片剪辑实例的可见性,当影片剪辑实例的_visible值是true(或者为1)时,实例可见;当实例的_visible的值是false(或者为0)时,实例不可见。_height:影片剪辑实例的高度(以像素为单位)。_width:影片剪辑实例的宽度(以像素为单位)。_xscale:影片剪辑实例的水平缩放比例。_yscale:影片剪辑实例的垂直缩放比例。_x:影片剪辑的在舞台上的x坐标。_y:电景剪辑的在舞台上的y坐标。13.4.2影片剪辑控制函数1.duplicateMovieClip();duplicateMovieClip语句的作用是复制影片剪辑,它经常被用来制作下雨、下雪等效果。其语法格式为:duplicateMovieClip(目标,新名称,深度);2.setProperty();setProperty语句用来设置影片剪辑属性,格式为:setProperty(目标,属性,值);3.getProperty();etProperty语句用来获取某个影片剪辑实例的属性。常常用来动态地设置影片剪辑实例属性。格式为:getProperty(目标,属性);4.removeMovieClip();removeMovieClip语句用来删除用duplicateMovieClip语句复制的影片剪辑实例,其格式为:removeMovieClip(复制的影片剪辑实例路径和名称);5.startDrag();tartDrag语句用来在播放动画时,托拽影片剪辑实例。格式为:名称.startDrag(锁定,左,上,右,下);6.stopDrag();stopDrag语句用来停止拖动舞台上的影片剪辑实例,格式为:stopDrag();。该命令没有任何参数。典型实例——制作下雪效果下雪效果本例操作步骤可参考视频:13-3.avi。13.5浏览器/网络函数1.getURL();getURL语句可为按钮或其他事件添加网页网址,格式为:getURL(网址,窗口,变量);2.fscommand();scommand命令主要用来控制动画播放窗口。比如把光盘放入光驱后,光盘自动运行,接着便是一段Flash制作的开场动画,动画是全屏播放的,且右键单击无效,动画播放结束后,出现“关闭”按钮,单击该按钮后,全屏动画关闭。这个效果中的全屏播放、右键单击无效以及单击按钮退出全屏都是靠fscommand命令实现。其格式为:fscommand(命令,参数);典型实例——链接网站链接网站本例操作步骤可参考视频:13-4.avi。13.6动态文本创建影片剪辑为影片剪辑实例添加动作脚本1.打开素材文档,并将舞台上的图形转换为影片剪辑2.为影片剪辑设置实例名称,并在“动作”面板中为其添加动作脚本设置文本属性定义变量3.在“属性”面板中设置文本属性,然后在舞台上拖出一个文本框4.将动态文本的变量定义为“k”新建图层并插入关键帧为关键帧添加动作脚本5.新建“命令”图层,在“图层1”的第2帧处插入普通帧,在“命令”图层的第2帧处插入关键帧6.为“命令”图层的第2帧添加动作脚本
本文标题:动画制作第十三章
链接地址:https://www.777doc.com/doc-3391006 .html