《FLASHdeActionScript.ppt》由会员分享,可在线阅读,更多相关《FLASHdeActionScript.ppt(22页珍藏版)》请在三一文库上搜索。
1、ActionScript,动作脚本,动作脚本的概念,动作脚本语言即ActionScript,简称AS语言 通过在动画的关键帧、按钮和影片剪辑实例上添加语句,来控制动画中的对象,实现交互 用户可以通过动作脚本语言告诉Flash将要执行的任务 动态地控制动画的播放 进行各种计算 获取用户的动作,让用户创建具有交互功能的作品,动作面板,Flash提供的专门用来编写脚本,即AS程序的开发环境 Flash CS3【动作】面板的功能得到了扩充和增强,可以选择ActionScript2.0或ActionScript3.0进行编程,时间轴控制命令,play()命令 表示开始播放影片,即在时间轴中向前移动播放头
2、 如果当前影片在播放完毕的情况下暂停播放,使用该命令可继续播放 如果当前影片已经播放完毕,则会跳回到影片的起始处再次播放 stop ()命令 表示停止播放,播放头暂停在时间轴的当前位置 goto 命令 gotoAndPlay(scene,frame) 用于指定影片的播放位置,即将播放头转到场景中指定的帧并从该帧开始播放。如果未指定场景,播放头将转到当前场景中的指定帧。 gotoAndStop(scene,frame) 用于指定影片停止播放的位置,即将播放头转到场景中指定的帧并停止播放。若未指定场景,则播放头将转到当前场景中的帧。 参数scene用于设置影片停止播放的场景,参数frame用于指定
3、影片停止播放的帧。,时间轴控制命令,nextFrame() 将播放头转到下一帧处,并停止播放 prevFrame() 将播放头转到上一帧处,并停止播放。若当前帧为第1帧,则播放头不移动 stopAllSounds() 使当前在Flash Player中播放的所有声音停止 此动作不影响影片的视觉效果,影片剪辑控制,startDrag(target,lock, left, top, right, bottom) 使target影片剪辑在影片播放过程中可以进行拖动 参数target是指要拖动的目标影片剪辑元件实例的目标路径 参数lock为布尔值,用于指定可拖动影片剪辑是锁定到鼠标位置中央(True)
4、,还是锁定到用户首次单击该影片剪辑的位置上(False); 参数left、top、right、bottom是指相对于影片剪辑父级坐标的值,这些值将决定该影片剪辑的约束矩形范围,这些参数都是可选的 stopDrag() 停止当前的拖动操作 例如: 利用startDrag()拖动影片剪辑实例“phone”,用stopDrag()停止“phone”的拖动。 on(press) startDrag(_root.phone); on(release) stopDrag(); ,影片剪辑控制,setProperty(target, property, valueexpression) 该函数可在影片播放时
5、更改影片剪辑的属性值,如舞台中元件实例的透明度、位置、高度、宽度及旋转角度等。 target为要设置其属性的影片剪辑实例名称的路径 property为要设置的属性 value为属性的新文本值,表达式expression的计算结果为属性新值的公式 主要属性: _height, _width , _name , _rotation , _visible ,_alpha _x,_y 设置相对于父级影片剪辑的本地坐标的 x y坐标 _xmouse,_ymouse 鼠标位置相对于影片剪辑的 x y 坐标 _xscale ,_yscale: 水平、垂直缩放比例,以百分比表示 例如: setProperty
6、(hd_mc,_alpha,50); setProperty(this,_alpha,50),影片剪辑控制,getProperty(目标, property) 返回影片剪辑指定属性的值 目标为要获取其属性的影片剪辑的实例名称 参数property为影片剪辑的属性。 例如: _root.onMouseDown=function() setProperty(“flower”,_alpha,50); ; _root.onMouseUp=function() trace(getProperty(“flower“,_alpha); ;,影片剪辑控制,duplicateMovieClip (目标,新名称=
7、”,深度) 用于动态地复制影片剪辑实例 目标:要复制的“影片剪辑”实例的目标路径 新名称:复制的“影片剪辑”实例的名称 只需输入名称,而无需输入目录路径 复制的“影片剪辑”实例保持原“影片剪辑”实例的相对路径 深度:深度是一个值,它表示“影片剪辑”实例副本与同一影片加载级别中其它副本的相对堆叠深度 例如: On(release) duplicateMovieClip(hd_mc,”myhd”,1); 由duplicateMoveClip复制的影片剪辑由removeMoveClip删除 duplicateMoveClip常与for语句、setProperty函数合作,实现下雨、下雪、飘花等效果,
8、for语句,让指定程序代码块执行一定次数的循环 格式: for(初始值;条件;下一个) statement(s); 各参数含义如下: 初始值:是一个在开始循环前要计算的表达式,通常为赋值表达式。 条件:是一个计算结果为“true”或“false”的表达式。在每次循环前计算该条件,当条件的计算结果为“false”时退出循环。 下一个:是一个在每次循环执行后要计算的表达式,通常是使用“+”或“- -”运算符的赋值表达式。 statement(s):循环体内要执行的语句。 for(i=1;i=30;i+) duplicateMovieClip(“hd_mc“,“hd_mc“+i,i); setPro
9、perty(“hd_mc“+i,_x,random(400); setProperty(“hd_mc“+i,_y,random(500); setProperty(“hd_mc“+i,_alpha,random(100); setProperty(“hd_mc“+i,_xscale,random(100); setProperty(“hd_mc“+i,_yscale,random(100); ,for(i=1;i=30;i+) duplicateMovieClip(“hd_mc“,“hd_mc“+i,i); setProperty(“hd_mc“+i,_x,random(400); setPr
10、operty(“hd_mc“+i,_y,random(500); setProperty(“hd_mc“+i,_alpha,random(100); ,影片剪辑控制,removeMovieClip (目标); 用于删除指定的影片剪辑。 目标主要是指用duplicateMovieClip()创建的影片剪辑实例,或者用MovieClip.attachMovie()或MovieClip.duplicateMovieClip()创建的影片剪辑实例 例如,在下列语句中,单击按钮时,删除用duplicateMovieClip()复制的影片剪辑实例myhd on(release) removeMovieCl
11、ip( myhd ); ,影片剪辑控制,onClipEvent(参数)程序块;/触发事件后执行的程序块 用于触发特定影片剪辑实例定义的动作 参数是一个称为事件的触发器。当事件发生时,执行事件后面大括号中的语句 具体的参数如下: load:影片剪辑实例一旦被实例化并出现在时间轴上,即启动该动作 unload:从时间轴中删除影片剪辑后,此动作在第1帧中启动。在向受影响的 帧附加任何动作之前,先处理与unload影片剪辑事件关联的动作 enterFrame:以影片剪辑帧频不断触发此动作,首先处理与enterFrame剪辑事件关联的动作,然后才处理附加到受影响帧的所有帧动作 mouseDown:当按下
12、鼠标左键时启动此动作 mouseUp:当释放鼠标左键时启动此动作 keyDown:当按下某个键时启动此动作。使用key.getCode()获取有关最后按下的键的信息 keyUp:当释放某个键时启动此动作。使用key.getCode()获取有关最后按下的键的信息 Data:当在loadVariables()或loadMovie()动作中接收数据时启动此动作。当与loadVariables()动作一起指定时,data事件只在加载最后一个变量时发生一次,影片剪辑控制,on(参数)程序块;/触发事件后执行的程序块 捕获当前按钮(button)或鼠标的指定事件,并执行相应的程序(statements)
13、“参数”指定了要捕获的事件,具体事件如下: press:当按钮被按下时触发该事件 release:当按钮被释放时触发该事件 releaseOutside:当按钮被按住后鼠标移动到按钮以外并释放时触发该事件。rollOut:当鼠标滑出按钮范围时触发该事件 rollOver:当鼠标滑入按钮范围时触发该事件 dragOut:当按钮被鼠标按下并拖曳出按钮范围时触发该事件 ragOver:当按钮被鼠标按下并拖曳入按钮范围时触发该事件 keyPress(”key”):当参数(key)指定的键盘按键被按下时触发该事件,影片剪辑控制,updateAfterEvent() 刷新舞台,更新显示(变量值) onCl
14、ipEvent() 处理函数内调用此函数时,或将其作为传递给 setInterval() 的函数或方法的一部分进行调用时,将更新显示 如果对 updateAfterEvent 的调用不在 onClipEvent() 处理函数内,也不是传递给 setInterval() 的函数或方法的一部分,则 Flash 将忽略该调用。 下面的示例说明如何创建名为 cursor_mc 的自定义光标。使用 ActionScript 将鼠标光标替换为 cursor_mc。然后,使用 updateAfterEvent() 继续刷新舞台以使光标的移动看起来顺畅。 Mouse.hide(); cursor_mc.onM
15、ouseMove = function() this._x = this._parent._xmouse; this._y = this._parent._ymouse; updateAfterEvent(); ;,影片剪辑控制,targetPath() 返回一个字符串,其中包含 MovieClip、Button、TextField 或 Videoobject 的目标路径。该目标路径以点记号 (.) 形式返回。,浏览器/网络函数,fscommand(命令,参数) 用于.swf文件与Flash Player之间的通讯 将消息传递给Macromedia Director,或者传递给Visual B
16、asic、Visual C+和其他可承载ActiveX控件的程序。,浏览器/网络函数,getURL(url,窗口,方法) 将特定“URL”的文档加载到Web浏览器窗口中,或将变量传递到位于所定义“URL”的另一个应用程序 url:从该处获取文档的URL 窗口:可选参数,指定文档应加载到其中的窗口或HTML框架 可输入特定窗口的名称,或从下面的保留目标名称中选择: _self:指定当前窗口中的当前框架 _blank:指定一个新窗口 _parent:指定当前框架的父级 _top:指定当前窗口中的顶级框架。 方法:选择发送变量的方法,有GET和POST两种方法 如果没有变量,则省略此参数 GET方法
17、将变量追加到URL的末尾,该方法用于发送少量变量 POST方法在单独的HTTP标头中发送变量,用于发送长的变量字符串,浏览器/网络函数,loadMovie(url,层次/目标,方法) 在播放原始swf文件的同时将.swf文件或JPEG文件加载到Flash Player中。 url:要加载的swf文件或JPEG文件的绝对或相对URL 目标:指向目标影片剪辑的路径 方法:可选参数,为一个证书,指定用于发送变量的HTTP方法 loadMovie(“circle.swf“, 0);,浏览器/网络函数,unloadMovie( 目标) 从 Flash Player 中删除通过 loadMovie() 加
18、载的影片剪辑。 on(release) unloadMovie(a); loadVariables(url,目标,方法) 用于加载外部文件中的变量值。 使用loadVariables函数,可以让Flash从外部装载指定数据文件中的数据,并将数据以变量的方式存储到指定的“影片剪辑”对象中 各参数含义如下: url:指定要装载数据文件的URL地址 目标:指定存放数据的“影片剪辑”名称 方法:决定在装载数据文件时发送变量数据的模式,其它函数,Number(expression) : Number 将参数 expression 转换为数字,并返回下面列表中说明的值: 如果 expression 是数字
19、,则返回值为 expression 如果 expression 是布尔值,则当 expression 是 true 时,返回值为 1;当 expression 是 false 时,返回值为 0 如果 expression 为字符串,则该函数尝试将 expression 分析为一个带有可选尾随指数的十进制数字(例如 1.57505e-3) 如果 expression 是 NaN,则返回值为 NaN 如果 expression 是 undefined,则返回值如下所示:在为 Flash Player 6 或更低版本发布的文件中,结果为 0。在为 Flash Player 7 或更高版本发布的文件中,结果为 NaN。,其它函数,Math.random( value:Number) : Number 返回一个随机整数,此整数介于 0 和小于在 value 参数中指定的整数之间。 参数value:Number - 一个整数。 返回Number - 一个随机整数。 示例 下面对 random() 的使用将返回 0、1、2、3 或 4 中的一个值: random(5);,
链接地址:https://www.31doc.com/p-2144123.html