Flash中的动作脚本
- 格式:doc
- 大小:40.50 KB
- 文档页数:5
flash动画代码中的flash动作代码大全flash动画代码中的flash动作代码大全一、几种Action命令1.影片的播放与停止:Play( );//播放命令 stop( );//停止命令2.改变Frame流向命令gotoAndPlay(frame) //跳到指定的画面并连续播放。
gotoAndStop(frame) //跳到指定的画面并停止播放。
gotAndplay(“场景名称”,frame)//跳到指定场景帧并连续播放。
gotoAndStop(“场景名称:,frlme)//跳到指定场景帧并停止播放。
nextFrame( );//跳到下一帧播放;PrevPrame( );//跳到上一帧播放。
3.控制影片剪辑的播放与停止:tellTarget命令如:tellTarget(“C1”){gotoAndStop(2);}//跳影片剪辑实例C1的第2帧并停止。
二、几种功能元件的制作方法1.计时器的制作单击菜单Insert/new symbol,在弹出的对话框中输入插入的符号名称(如:计时器),确定后选择文字工具,属性为动态(Dynamic text),在第一帧中画两个文本框。
分别设置变量名为munite和timer,在两个文本框之间画一个形如冒号的圆点(这两个圆点可以做成一个符号,类型为电影片段,每秒闪动一次.然后拖入到两文本框之间。
在第二帧插入帧。
在第一帧输入动作脚本(Action)如下://设置时间的初值if(!started) {start_time=getTimer();started=true;timer=0;i=o;munite=0;}x=getTimer()-start_time;//计算时间的变化x=int(x/1000); //时间的单位为1000分之一秒y=x-60*iif (y>59){i=i+1;munite=munite+1timer=timer+1:}else{timer=y}该符号制作完毕后。
关于Flash动作脚本--ActionScript ActionScript即动作脚本,简称AS。
在Flash动画中,使用AS 可以使动画实现交互或完成某些特效。
一、AS要写在什么地方,什么时候AS被触发执行?1、关键帧:写在关键帧上面的AS,当时间轴上的指针走到这个关键帧的时候,写在这个帧上面的AS就被触发执行了。
例如要让影片播放完成后停在最后一关键帧,操作方法就是点选最后一帧关键帧,然后打开动作面板,在面板中输入stop()。
2、按钮:不同于关键帧上面的AS,按钮上面的AS要有触发条件。
要把AS 写在按钮上,操作方法是点选目标按钮,然后打开动作面板。
例如:假设有个按钮,效果是按下按钮后停止播放,那么步骤如下:做一个按钮,放到主场景,点选按钮,然后打开AS面板。
现在如果也在按钮上写:on(release){stop();} //这里要比帧的动画多这些代码: on(release){}其中release是鼠标的触发事件事件之一,作用是松开按钮,按钮的常用事件:写在按钮上面的AS的格式:on(事件){要执行的代码} ,即按钮上的3、MC(影片剪辑)写在影片剪辑上的AS和写在按钮上的大同小异。
操作方法就是点选影片剪辑,然后打开动作面板。
看个例子:onClipEvent(load){stop();}这里load代表一个事件。
影片剪辑的事件有下面这些:写在MC上的代码格式: onClipEvent(事件){代码}二、AS中的对象和方法虽然AS不是真正的面向对象的编程,但它的概念贯穿整个AS的始终。
1、AS中的对象新建一个Flash文件,先创建一个命令按钮,然后创建一个影片剪辑,将命令按钮拖到影片剪辑中,命名为“myBtn”。
将影片剪辑拖到主场景中,命名为“myMC”。
现在如何表示主场景、影片剪辑、和按钮呢?方法如下:_root――主场景(主时间轴)_root.myMC ――主场景中的剪辑myMC_root.myMC.myBtn ――主场景的剪辑myMC中的按钮myBtn 这里的_root是Flash的关键字,表示主场景的 Timeline (时间轴)。
flash常用动作脚本语言影片控制:gotoAndplay 将播放头转到场景中指定的帧并从该帧开始播放gotoAndstop 将播放头转到场景中指定的帧并停止播放nextFrame 将播放头移到下一帧并停止nextScence 将播放头移到下一场景的第一帧并停止on 指定触发动作的鼠标事件或者按键事件play 在时间轴中向前移动播放头prevFrame 将播放头移到上一帧并停止stop 停止当前正在播放的影片stopAllSound 在不停止播放头的情况下停止影片中当前正在播放的所有声音浏览器/网络fscommand 使影片能够与Flash player或承载Flash player的程序进行通信geturl 将来自特定URL的稳当加载到窗口中loadmovie 在播放原始影片的同时将SWF文件加载到Flash player中loadmovienum 在播放原始用片的同时将SWF文件加载到Flash player的某个级别loadvariables 从外部文件读取数据,并设置Flash player级别或变量的值loadvariablesnum 从外部文件读取数据,并设置Flash player级别中的变量的值unloadmovie 从Flash player中删除一个已加载的影片或影片剪辑unloadmovienum 从Flash player中删除已加载的影片影片剪辑控制duplicatemovieclip 当影片正在播放时,创建一个影片剪辑的实例onclipevent 触发为特定影片剪辑实例定义的动作removemovieclip 删除用attachmovie或duplicatemovieclip创建的影片剪辑实例setproperty 当影片播放时,更改影片剪辑的属性值startdrag 是target影片剪辑在影片播放过程中可拖动stopdrag 停止当前的拖动操作update afterevent 更新显示变量delete 销毁由reference参数指定的对象或变量set variable 为变量赋值var 用于声明局部变量with 指定一个对象条件/循环break 命令Flash挑过循环体的其余部分,停止循环动作case 定义用语switch动作的条件countinue 跳过循环体,重新判断循环条件default 定义switch动作的默认情况do while 执行语句,然后只要条件为true,就计算循环中的条件else 指定当if语句中的条件返回false时要进行的语句else if 计算条件,并指定当初始if语句返回false时要进行的语句for 只要初始化表达或结果为ture,则按照以下顺序开始循环序列for in 循环通过数组中的对象的属性,并为对象的每一个属性执行动作if 对条件进行计算以确定影片中的下一步动作switch 创建动作脚本语句的分支结构while 测试表达式,只要该表达式为ture,就重复运行循环中的语句打印print 根据在参数中所指定的边界打印影片剪辑printasbitmap 将目标影片剪辑作为位图打印printasbitmapnum 将Falsh player中的某个级别作为图进行打印printnum 根据参数中指定的边界打印Falsh player中的级别用户定义函数call 执行被调用桢中的脚本,而不将播放头移动到该帧function 定义用来执行特定任务的函数return 指定由函数返回的值其他动作#endinitclip 指示组件初始化动作块的结尾#include 包括当测试,发布或导出影片时参数中指定的文件内容#initclip 指示组件初始化动作块的开始clearinterval 清除对setinterval函数的调用// 指示脚本注释的开始setinterval 间隔标识符trace 在测试模式下,计算表达式并在输出窗口中显示结果1.动作脚本语言的语法规则的操作技巧详解。
一、play命令〔播放〕1、使用格式play()该命令没有参数,功能是使动画从它的当前位置开始放映。
二、stop命令〔停止播放〕1、使用格式stop()该命令没有参数,功能是停止播放动画,并停在当前帧位置。
三、gotoAndPlay命令〔跳至…播放〕1、使用格式gotoAndPlay(frame)参数说明:frame:跳转到帧的标签名称或帧数。
该命令用来控制影片跳转到指定的帧,并开始播放。
2、用法举例gotoAndPlay(10)以上动作代码的作用是:让播放头跳转到当前场景的第10帧并从该帧开始播放。
四、gotoAndStop命令〔跳至…停止播放〕1、使用格式gotoAndStop(frame)参数说明:frame:跳转到帧的标签名称或帧数。
该命令用来控制影片跳转到指定的帧,并停止在该帧。
2、用法举例gotoAndStop(10)以上动作代码的作用是:让播放头跳转到当前场景的第10帧并停止在该帧。
五、stopAllSounds命令〔停止所有音轨〕1、使用格式stopAllSounds()该命令没有参数用来停止当前FlashPlayer中播放的所有声音。
六、if...else语句(条件语句)1、使用格式if(条件){语句1;}else{语句2;}当条件成立时,执行“语句1〞的内容。
当条件不成立时,执行“语句2〞的内容2、用法举例if(a〉b){//判断a是否大于btrace("a>b"); }else{trace("b >=a"); }//假设成立,那么输出a>b//假设不成立那么输出b>=a七、switch...case...default语句〔条件语句〕1、使用格式switch(表达式){case值1:执行语句1;break;case值2:执行语句2;break;default:语句;}先计算表达式的值,然后去各个case子句中寻找对应的执行语句。
1 、简单loading 代码:方法1 、使用载入字节数判断b=getBytesTotal(); 获取总的字节数a=getBytesLoaded(); 已经下载的字节数onEnterFrame=function(){ 进入帧时, 进行判断if (a == b) { 如果载入的字节数等于总的字节数delete this.onEnterFrame 删除进入帧gotoAndPlay(frame); 转入到你要播放的帧] else { 否则a=getBytesLoaded(); 已经下载的字节数percent=int(ab100)+%; 计算已经下载的百分比]}把上面方法放入第一帧就可以了方法2 、使用载入的帧数判断_用Action 语法地if frame is loaded 来实现, 新建一层,这层专门放Action,第一帧,ifFrameLoaded ( 场景, frame) { 假如场景中地祯数已经载入goto and play() 跳至并播放某某祯( 自己设定)}第二帧,ONpQgoto and play( 场景1, 1) 跳至并播放第一祯循环再加上一个load 地MC 循环播放在这两帧的中间,就OK 了。
2 、用flash 做那种弹出的小窗口分两步:给flash 中的按钮加入如下actionon (release) { idd{getURL (MM_openBrWindow('newweb.htm','','width=600,height=100'));在HTML 页面的head...head 之间加入下面的javascrīpt 代码 .scrīpt language=javascrīpt!-- ~Yfunction MM_openBrWindow(theURL,winName,features) { v2.0window.open(theURL,winName,features); ;}--scrīpt3 、载入swf 文件的控制在flash 中可以使用loadmovie ()和loadmovienum ()两个函数控制,具体代码如下:loadmovie 载入的控制_root.createEmptyMovieClip ( aa , 1 );with ( aa ) {_x = 50 ;_y = 100 ;_width=200_height=300_alpha=50loadMovie ( 02.swf );}loadMovieNum 的载入控制:loadMovieNum ( 02.swf , 1 );onEnterFrame = function () {if ( _level1 ) {with ( _level1 ) {_x = 50 ;_y = 100 ;}delete onEnterFrame ;}};在flash 2004 中,增加了MovieClipLoader 类,使用它可以控制播放,下面是一个测试代码:var mcl= new MovieClipLoader(); 定义新的MovieClipLoader 对象~var listener = new Object(); 定义一个新的对象,用来监听load 进程listener.onLoadProgress=function(target,loadedBytes,totalBytes ){ onloadprogress 加载过程中每当将加载的容写入磁盘时调用其中loadedBytes 是已经下载的字节,totalBytes 是正在加在的文件的总字节数x=loadedBytesy=totalBytestrace(x+ bytes 已经load 了);trace(totalBytes + bytes 需要load);d=x100y 计算已经载入的百分比)listener.onLoadInit = function(target) 当执行加载的剪辑的第一帧上的动作时调用{if(d100){ 如果没有加载完成,不要播放target.stop();} else { 加载完成,可以设置加载的swf 文件开始播放的帧数target.gotoAndPlay(2);}target._width=400 设置加载的影片的大小及其位置等相关属性target._height=350target._x=25target._y=50}mcl.addListener(listener); 注册一个新的监听对象mcl.loadClip(.swf,1) 使用自定义的对象,加载swf 文件4 、设为首页on (release) {getURL(void(document.links.style.behavior='url(#default#homepage)');voiddocument.links.setHomePage(' '),_self, POST);}注意要将网页中的flash 的ID 号命名为links加入收藏夹on (release) {getURL(void window.external.AddFavorite(' htt.163.',' 网页');,_self, POST);}5 、如何随机设置MC 颜色?方法1 、MC 实例名为mcmycolor=new Color(mc)mycolor.setRGB(random(0xffffff))方法2 、MC 实例名为mcmycolor=new Color(mc) [mycolor.setRGB(random(16777215))方法3 、myColor = new Color(mc);myColorTransform = new Object(); 用new Object() 为setTrandform() 创建参数并随机取值myra = random(100);myrb = random(255);myga = random(100);mygb = random(255);myba = random(100);mybb = random(255);myaa = random(100);myab = random(255);myColorTransform = {ramyra, rbmyrb, gamyga, gbmygb, bamyba, bbmybb, aamyaa,abmyab};myColor.setTransform(myColorTransform);方法4 、mycolor = new Color(mc);mycolor.setRGB(random(255)16random(255)8random(255));6 、关于随机数的技巧用来产生6--20 之间的5 个不重复的随机数1) 首先产生一个随机数, 放在数组对象中的第一个位置2) 产生一个新的随机数3) 检查新产生的随机数和所有目前已产生的随机数是否相同, 若是相同则返回(2), 否则返回(4)4) 将新的随机数加入数组对象中下一个数组元素5) 检查数组对象个数是否已达到5 个, 若是跳到(6), 否则返回(2)6) 结束AS 如下data1=newArray(5);tot=1;data1=[tot-1]=random(20-6+1)+6;do{gen_data=random(20-6+1)+6;reapeat_data=0;for(i=0,i=tot-1;i++){if(gen_data==datareapeat_data=1;break;}}if(reapeat_data==0){tot++data[tot-1]=reapeat_data;}}while(tot5);trace(data1);7 、如何禁止右键菜单、缩放、全屏在第一桢中输入下面命令:全屏->FS Command (fullscreen, true)禁止缩放->FS Command (allowscale, False)禁止菜单->FS Command (showmenu, False)fscommand 的方法还是只能适用于fp ,在网页中使用还是必须添加额外的参数PARAM Name=menu value=false或者用最简单的一句as ,在fp 和网页中均适用:Stage.showMenu=false;8 、如何实现双击效果?把下面的代码放到按钮上:on (press) {time = getTimer()-down_time;if (time300) {trace(ok);}down_time = getTimer();}这样的话,如果都用比较麻烦,写了一个类来判断MovieClip.prototype.doubleClick = function() {this.timer2 = getTimer()1000;if ((this.timer2-this.timer)0.25) {return true;} else {this.timer = getTimer()1000;return false;}};继承了mc 的类,可以重复使用,当然也可以封装为 2 。
Flash中的动作脚本1.1什么是ActionScriptActionScript是Flash的脚本语言。
可以使用ActionScript控制Flash中的对象,创建向导和交互元素,也可以扩展Flash,制作高级交互影片和Flash交互网站。
1.2动作脚本所附加的位置1.附着在按钮实例上方法:选择场景中的按钮,单击鼠标右键,从弹出的快捷菜单中选择“动作”(Action),在打开的“动作”面板中添加ActionScript脚本。
使用:在动画播放时,发生按钮事件时,即会触发附着在其上对应事件的捕捉函数并运行该函数或指令。
2.附着在关键帧上方法:在想要附着动作脚本的关键帧上单击鼠标右键,从弹出的快捷菜单中选择“动作”,在打开的“动作”面板中添加动作脚本。
使用:在动画播放时,只要该关键帧被播放一次,附着在它上面的脚本就执行一次。
显示:附着有动作脚本的关键帧会显示一个a。
3.附着在影片剪辑上方法:在场景的影片剪辑上单击鼠标右键,从弹出的快捷菜单中选择“动作”,在打开的“动作”面板中添加动作脚本命令,该脚本就附着在影片剪辑上。
使用:当对影片剪辑发生各种事件时,就触发了附着在其上的捕捉函数,开始运行捕捉函数中的脚本命令。
1.3ActionScript相关述语1.实例:属于某个类的对象,同类对象的实例具有该类对象的所有共同特性。
例如每一个影片剪辑都是MovieClip类的一个实例,它们都具有_x、_y、_alpha 等属性。
每个实例都对应着一个标识该实例的标识符,称为实例名称。
要用程序控制或使用某个实例,就需要用到实例名称。
例如,要让影片剪辑实例(名称为myCan)中的动画播放,可以使用如下脚本程序:“myCar.play();”。
其中,myCar 表示实例名称,play()是MovieClip类的方法,它们之间用(.)连接起来。
2.对象:特定类的实例,是属性和方法的集合。
按钮是对象,影片剪辑是对象。
3.事件:是SWF文件播放时对象所发生的动作。
FLASH动作脚本详解FLASH动作脚本详解一、FLASH脚本基础入门讲解 (1)二、按钮AS的编写 (4)三、影片剪辑的AS编写 (5)四、动态文本框 (6)五、影片剪辑的拖拽 (8)六、流程控制与循环语句 (10)七、绘图及颜色的AS的编写 (12)八、声音AS 的编写与控制 (14)九、时间日期的AS编写 (17)十、点语法以及路径 (18)十一、深入了解时间控制 (20)十二、无条件转移 (23)十三、变量 (28)十四、运算符(一) (33)十五、变量(二) (38)十六、影片剪辑的属性 (41)十七、再讲循环语句 (47)十八、影片剪辑处理函数 (53)十九、复制影片剪辑 (58)二十、深入startDrag()与stopDrag() 61二十一、for循环 (65)二十二、while与do while循环 (69)二十三、循环语句的嵌套 (73)二十四、组件 (75)二十五、播放器控制与网页连接以及动画发布输出 (78)二十六、loadVariables命令 (79)二十七、影片剪辑的深度 (80)二十八、文本框 (82)二十九、超文本标签 (83)一、FLASH脚本基础入门讲解认识“动作”面板在Flash中,动作脚本的编写,都是在“动作”面板的编辑环境中进行,熟悉“动作”面板是十分必要的。
按【F9】键调出“动作”面板,可以看到“动作”面板的编辑环境由左右两部分组成。
左侧部分又分为上下两个窗口。
左侧的上方是一个“动作”工具箱,单击前面的图标展开每一个条目,可以显示出对应条目下的动作脚本语句元素,双击选中的语句即可将其添加到编辑窗口。
下方是一个“脚本”导航器。
里面列出了FLA文件中具有关联动作脚本的帧位置和对象;单击脚本导航器中的某一项目,与该项目相关联的脚本则会出现在“脚本”窗口中,并且场景上的播放头也将移到时间轴上的对应位置上。
双击脚本导航器中的某一项,则该脚本会被固定。
右侧部分是“脚本”编辑窗口,这是添加代码的区域。
flash动作脚本从入门开始(3)flash动作脚本从入门开始◎ rollover:事件发生于鼠标滑入按钮时。
◎ rollout:事件发生于鼠标滑出按钮时。
◎ dragover:事件发生于按着鼠标不松手,鼠标滑入按钮时。
◎ dragout:事件发生于按着鼠标不松手,鼠标滑出按钮时。
◎ keypress:事件发生于用户按下指定的按键时。
2、onclipevent()事件处理函数所支持的事件onclipevent()事件处理函数使用的一般形式为:onclipevent(movieevent){// 此处是你的语句,用来响应事件。
}其中movieevent是一个事件“触发器”。
当事件发生时,执行该事件后面大括号中的语句。
对于影片剪辑而言,可指定的触发事件有9种,分别是:◎ load:影片剪辑一旦被实例化并出现在时间轴中时,即启动此动作。
◎ unload:在时间轴中删除影片剪辑之后,此动作在第1帧中启动。
在向受影响的帧附加任何动作之前,先处理与unload影片剪辑事件关联的动作。
◎ enterframe:以影片剪辑帧频不断触发的动作。
首先处理与enterframe剪辑事件关联的动作,然后才处理附加到受影响帧的所有帧动作。
◎ mousemove:每次移动鼠标时启动此动作。
_xmouse和_ymouse属性用于确定当前鼠标位置。
◎ mousedown:当按下鼠标左键时启动此动作。
◎ mouseup:当释放鼠标左键时启动此动作。
◎ keydown:当按下某个键时启动此动作。
◎ keyup:当释放某个键时启动此动作。
◎ data:当在loadvariables()或loadmovie()动作中接收数据时启动此动作。
当与loadvariables()动作一起指定时,data事件只在加载最后一个变量时发生一次。
当与loadmovie()动作一起指定时,获取数据的每一部分时,data事件都重复发生。
第四节基本命令和程序结构控制前面几节我们讲解了actionscript的基础知识,相信你已经对actionscript的编程方法、基本概念以及语法规范等有了一定的认识。
Flash动作脚本基础(一)动作脚本添加的三种方式:帧、影片剪辑(mc)和按钮1.给帧加动作:给帧加动作时,只需选择需要加脚本的帧,打开动作面板,直接输入脚本即可。
2.给按钮加动作:给按钮加动作时需要选择【影片剪辑控制】集合中的on命令。
这个命令是专门为按钮设计的,它提供了八种按钮的事件。
分别是按下、滑过、释放、滑离、外部释放、拖过、拖离和按键。
① press在鼠标指针经过按钮时按下鼠标按钮,会触发本事件一次。
②release在鼠标指针经过按钮时释放鼠标按钮,会触发本事件一次。
③releaseOutside当鼠标指针在按钮之内时按下按钮后,将鼠标指针移到按钮之外,此时释放鼠标按钮,会触发本事件一次。
可以利用on的这个事件来制作游戏。
④rollOut鼠标指针滑出按钮区域,会触发本事件一次。
⑤rollOver 鼠标指针滑过按钮,会触发本事件一次。
当鼠标指针从按钮上滑过的时候,动画就开始执行播放动作了,而不需要点击它。
我们可以利用on的这个特点来制作一些图示板,非常简单有效。
滑离与滑过并不是相同的,滑离是指鼠标滑动到按钮上并离开以后开始响应,而滑过是指只要鼠标滑到按钮上,就开始执行动作。
⑥、dragOut在鼠标指针滑过按钮时按下鼠标按钮,然后滑出此按钮区域,会触发本事件一次。
⑦dragOver 在鼠标指针滑过按钮时按下鼠标按钮,然后滑出此按钮,再滑回此按钮。
拖过的效果是在按钮上点击并按住鼠标不放,移出按扭区,再移回按钮上释放的事件。
拖离与拖过有所不同,只要在按钮上按住鼠标左键然后移动到按钮外就会相应。
他于滑离的区别在于拖离需要按住鼠标左键。
⑧keyPress("key") 按下指定的键,会触发本事件一次。
对于此参数的key 部分,需指定键控代码或键常量。
例如:on (dragOut) {//当鼠标拖离按钮时执行下面的动作play();//执行播放动作}再如:on (keyPress "z") {//当按下键盘中的“z”健时执行下面的动作play();//执行播放动作}方法:首先选择需要添加脚本的按钮,在动作面板上加入所需的脚本即可。
Flash中的动作脚本1.1什么就是ActionScriptActionScript就是Flash的脚本语言。
可以使用ActionScript控制Flash中的对象,创建向导与交互元素,也可以扩展Flash,制作高级交互影片与Flash交互网站。
1.2动作脚本所附加的位置1.附着在按钮实例上方法:选择场景中的按钮,单击鼠标右键,从弹出的快捷菜单中选择“动作”(Action),在打开的“动作”面板中添加ActionScript脚本。
使用:在动画播放时,发生按钮事件时,即会触发附着在其上对应事件的捕捉函数并运行该函数或指令。
2.附着在关键帧上方法:在想要附着动作脚本的关键帧上单击鼠标右键,从弹出的快捷菜单中选择“动作”,在打开的“动作”面板中添加动作脚本。
使用:在动画播放时,只要该关键帧被播放一次,附着在它上面的脚本就执行一次。
显示:附着有动作脚本的关键帧会显示一个a。
3.附着在影片剪辑上方法:在场景的影片剪辑上单击鼠标右键,从弹出的快捷菜单中选择“动作”,在打开的“动作”面板中添加动作脚本命令,该脚本就附着在影片剪辑上。
使用:当对影片剪辑发生各种事件时,就触发了附着在其上的捕捉函数,开始运行捕捉函数中的脚本命令。
1.3ActionScript相关述语1.实例:属于某个类的对象,同类对象的实例具有该类对象的所有共同特性。
例如每一个影片剪辑都就是MovieClip类的一个实例,它们都具有_x、_y、_alpha 等属性。
每个实例都对应着一个标识该实例的标识符,称为实例名称。
要用程序控制或使用某个实例,就需要用到实例名称。
例如,要让影片剪辑实例(名称为myCan)中的动画播放,可以使用如下脚本程序: “myCar、play();”。
其中,myCar 表示实例名称,play()就是MovieClip类的方法,它们之间用(、)连接起来。
2.对象:特定类的实例,就是属性与方法的集合。
按钮就是对象,影片剪辑就是对象。
Flash中的动作脚本1.1什么是ActionScriptActionScript是Flash的脚本语言。
可以使用ActionScript控制Flash中的对象,创建向导和交互元素,也可以扩展Flash,制作高级交互影片和Flash交互网站。
1.2动作脚本所附加的位置1.附着在按钮实例上方法:选择场景中的按钮,单击鼠标右键,从弹出的快捷菜单中选择“动作”(Action),在打开的“动作”面板中添加ActionScript脚本。
使用:在动画播放时,发生按钮事件时,即会触发附着在其上对应事件的捕捉函数并运行该函数或指令。
2.附着在关键帧上方法:在想要附着动作脚本的关键帧上单击鼠标右键,从弹出的快捷菜单中选择“动作”,在打开的“动作”面板中添加动作脚本。
使用:在动画播放时,只要该关键帧被播放一次,附着在它上面的脚本就执行一次。
显示:附着有动作脚本的关键帧会显示一个a。
3.附着在影片剪辑上方法:在场景的影片剪辑上单击鼠标右键,从弹出的快捷菜单中选择“动作”,在打开的“动作”面板中添加动作脚本命令,该脚本就附着在影片剪辑上。
使用:当对影片剪辑发生各种事件时,就触发了附着在其上的捕捉函数,开始运行捕捉函数中的脚本命令。
1.3ActionScript相关述语1.实例:属于某个类的对象,同类对象的实例具有该类对象的所有共同特性。
例如每一个影片剪辑都是MovieClip类的一个实例,它们都具有_x、_y、_alpha 等属性。
每个实例都对应着一个标识该实例的标识符,称为实例名称。
要用程序控制或使用某个实例,就需要用到实例名称。
例如,要让影片剪辑实例(名称为myCan)中的动画播放,可以使用如下脚本程序:“();”。
其中,myCar表示实例名称,play()是MovieClip类的方法,它们之间用(.)连接起来。
2.对象:特定类的实例,是属性和方法的集合。
按钮是对象,影片剪辑是对象。
3.事件:是SWF文件播放时对象所发生的动作。
例如,单击按钮,按下键盘上的键,动画播放到某一帧等都是事件。
1)按钮事件a)onDragOut:当在按钮上按下鼠标,只要按住左键移到按钮外,就会开始执行相应的动作。
b)onDragOver:在按钮上按下鼠标,并按住移开按钮,然后又移到按钮上,并且在些过程中一直没有释放,则开始执行相应的动作。
c)onKeyDown:该事件与鼠标无关,而是指当按下键盘上的某个键时,执行相应的动作。
d)onKeyUp:键盘上有任何一个键被按下然后又被释放时,不会激发并开始执行相应的操作。
e)onPress:当在按钮上按下鼠标时,开始执行大括号中相应的动作,而不用等到释放鼠标以后。
f)onRelease:当在按钮上按下鼠标,并且又被释放以后,事件成立,相应的动作被执行,该事件是按钮动作编辑时的默认事件。
g)onReleaseOutside:当在按钮上按下鼠标,并且按住左键移到按钮外释放后,开始执行相应的动作。
h)onRollout:当鼠标滑出按钮时,开始执行相应动作。
i)onRollOver:当鼠标滑到按钮上时,开始执行相应动作。
2)影片剪辑事件a)onData:如果使用的是LoadVariables或LoadMovie,所有数据资料全部载入完毕时就会执行相应的动作。
b)onEnterFrame:只要选定添加动作的电影片段在当前的场景中存在且动画在播放,就会不断进行相应的动作。
c)onMousedown:按下鼠标左键时,执行相应的动作。
d)onMousemove:只要鼠标开始移动就执行相应的动作。
e)onMouseup:按下鼠标左键后又释放时,执行相应的动作。
f)Load:当电影片段开始载入到当前的场景中时,执行相应的动作,该事件是电影片段动作编辑时的默认事件。
g)Unload:当电影片段从当前场景中移出,就会激发设定的动作。
4.属性:定义对象的特性。
例如对于最常用的影片剪辑对象,属性_x表示该影片剪辑在水平方向上的坐标位置(横坐标),属性_y表示竖直方向上的坐标位置(纵坐标),属性_alpha表示透明度,属性总是与属性值相对应,可以改变属性值以改变对象的显示状态,也可以动态地获得对象的属性值。
5.方法:与类关联的函数。
例如,getHours()是时间类Date的方法,abs()是数学类Math类的方法。
6.数据类型:描述变量或动作脚本元素可以包含的信息的种类。
数据类型包括字符串、数字、布尔值、对象、影片剪辑、空值和未定义。
7.标识符:用于表示变量、属性、对象、函数或方法的名称。
以字母、下划线或$开头。
8.变量:一种可以保留任何数据类型值的标识符。
变量和变量值对应,可以把变量看做是数据的容器。
可以创建和修改变量,也可以检索变量的值以在脚本中使用。
在使用变量前应先声明变量。
1.4基本动作1.GotoAndPlay():跳转到指定场景的指定帧开始播放。
2.GotoAndStop():跳转到指定场景的指定帧停止播放。
3.NextFrame():跳转到后一帧。
4.PrevFrame():跳转到前一帧。
5.NextScene():跳转到后一个场景。
6.PrevScene():跳转到前一个场景。
7.Play():播放。
8.Stop():停止播放。
9.StopAllSound():停止所有声音的播放。
10.On():当……事件发生时。
11.GetURL():获取指定的资源(可以是本地,也可以是远程)12.Fscommand():1)Fullscreen[true/false]:控制Flash播放是否进行全屏播放2)Allowscale[true/false]:控制Flash动画是否随着播放器的变化而变化3)Shwowmenu[true/false]:在播放器中,单击右键是否能显示菜单4)Trapallkeys[true/false]:控制播放器是否接受键盘事件5)Exec:在播放器中打开应用程序时,应用程序的路径6)Quit:不填参数,关闭动画,退出Flash播放器1.5动作脚本语法1.基本语法1)点语法(.):用来调用对象的属性和方法。
其表达式由对象或动画片段名开始,接着是一个点,最后是要指定的属性、方法或变量。
例如:2)花括号({}):使用花括号来为动作脚本语句分块。
例如:if(m==true){stop();}3)分号(;):表示动作脚本语句结束。
4)圆括号():定义函数时,要把函数的参数用圆括号括住。
例如:Function myFunction(name,age,adderss,phone){……………..}注释(实例名称主时间轴:_root. 实例名称父时间轴:_parent. 实例名称2.典型函数的使用1)getURL(url[,window[,”variables”]])a)参数说明url:可从该处获取文档的URL。
window:设置链接网页的打开方式,共有4种方式_self:在当前框架中打开链接。
_blank:在一个新窗口打开链接。
_parent:在当前框架的父级窗口中打开链接。
_top:在当前窗口的顶级框架中打开链接。
variables:可用GET或POST方法来发送变量。
GET方法将变量追加到URL的末尾,该方法用于发送少量变量。
POST方法在单独的HTTP标头中发送变量,该方法用于发送长的变量字符串。
如果没有变量也可忽略该参数。
b)实例2)getURL(对象){stop();};——对指定对象进行的动作3)setProperty();——设置对象属性4)set variable;——设置变量5)startDrag(“实例名称”,true):制作鼠标拖动效果;6)stopDrag():停止鼠标拖动效果;7)使用fscommand(x,y)制作全屏幕动画。
8)利用IfFrameLoaded(n)制作Loading动画。
9)制作精确Loading动画。
=0;TotalB=();KB=Int(totalB/1024);LoadB=();Percent=int(loadB/totalB)*100);=percent;10)duplicateMovieClip(目标,新名称,深度):复制影片剪辑。
11)removeMovieClip(目标):删除复制的影片剪辑。
12)3.程序流程控制种类1)顺序结构2)选择结构(分支结构、逻辑判断)a)ifb)if….else…c)if….else if….d)选择结构的嵌套3)循环结构a)do……while……b)whilec)ford)for……in…….4)中断控制语句a)continueb)break5)函数a)预定义函数:如getProperty(‘对象’,属性)b)自定义函数:如function area(r){return *r*r}c)全局函数:_global.函数名d)主时间轴函数:_root.函数名e)父时间轴函数:_parent.函数名。