Actions 基础功能速查表 A
1.影片控制 语法:gotoAndPlay(Scene,Frame); 将播放头跳转到场景中指定的帧并从该帧开始播放, 标签范例:gotoAndPlay("Scene 1", 1); gotoAndStop:将播放头跳转到场景中指定的帧(标签)并停止播放 NextFrame :下一帧 goto PreviousFrame:前一帧 nextscene:下一个场景 previousscene :前一个场景 FrameLabel:要害帧中定义的标签位置 语法:on (mouseEvent); 范例:on (press) { 指定触发动作的鼠标事件或按键 startDrag(""); } MouseEvent 可分为以下几类。 Press:鼠标指针在按钮上,并按下按钮 Release:鼠标指针在按钮上,按下后放开按钮 on Release Outside:当鼠标指针滑到按钮上时按下鼠标按钮,然后在释放鼠标按钮前滑出 此按钮区域 Roll Over:鼠标指针滑过按钮 Roll Out:鼠标指针滑出按钮外 Drag Over:当鼠标指针滑到按钮上时按下鼠标按钮,然后滑出该按钮区域,接着滑回 到该按钮上 Drag Out:当鼠标指针滑到按钮上时按下鼠标按钮,然后滑出此按钮区域 Key Press:(“key”)按下指定的键盘按键 play 语法:play(); 开始播放影片或继续往前播放 stop 语法:stop(); 停止播放影片 stopAllSounds 语法:stopAllSounds; 停止所有正在播放中的音乐文件 2.浏览器/网络 语法:fscommand (command,parameters); 使SWF 文件能够与Flash Player 或 fscommand 嵌入Flash Player 的程序(如 Web 浏览器 )进行信息传送,范例:fscommand ("fullscreen","true"); 续表 Flash Player 的指令。 Fullscreen (true/false):以全屏方式打开播放器 Allowscale (true/false):答应影片放大或缩小 Showmenu (true/false):显示单击鼠标右键时的菜单 Trapallkeys (true/false):传送所有按键事件至on Exec (true/false):执行一项内部指令 Quit:关闭播放器 语法:loadVariables (URL,level/target,Variables); 从外部文件中读取数据,例如文本文件,或是CGI、ASP 或PHP 脚本产生的文本。然后在影片内设置变量值 范例:on(release){ loadVariables loadVariablesNum ("MX.txt", 0 ); } 语法:getURL (URL,Window,Variables); 打开网页的相对或绝对地址,与超级链接的作用是相同的,可从链接网页URL 中加载影片、JPG,选择性地传送变量,加载到当前动画影片中。 getURL 范例:getURL ("http://www.taiwan123. com.tw", "_blank"); 语法:loadMovieNum (URL,level/target,Variables) loadMovie 范例:loadMovieNum ("picture.jpg",0) unloadMovie 语法:unloadMovieNum (level/target) 取消已载入的动画影片 3.影片剪辑控制 当 SWF 文件正在播放时,创建一个 影片剪辑的实例。无论播放头在原始影片剪辑中处于什么位置,在反复的影片剪辑中,播放头始终从第 1 帧 开始 语法:duplicateMovieClip (target,new name,depth); duplicateMovieClip 范例:duplicateMovieClip ("/game","new game",2); removeMovieClip 语法:removeMovieClip ("target"); 删除指定的影片剪辑 可用鼠标拖动已定义实体名称的影 片剪辑,一次只能拖动一个。一旦 执行,该影片剪辑保持可拖 动状态,直到用stopDrag 明确停止拖动为止,或是对另一个影片剪辑做 startDrag 的动作命令 语法:startDrag (target,lock,[left,top, right,bottom]); 范例:on (press) { startDrag startDrag startDrag ("/happy",true,0,350,210); } startDrag 的动作命令 语法:stopDrag (); 范例:on (release) { stopDrag 停止当前的拖动操作 stopDrag (); } 续表 语法:on 范例:on gotoAndStop (3) 给一个影片剪辑的动作命令 } MovieEvent 可分为以下几类。 Load:载入动画影片 Unload:删除动画影片 on MouseMove:每次移动鼠标时启动此动作 MouseDown:按住鼠标左键 MouseUp:放开鼠标左键 KeyDown:按住键盘的一个按键,使用Key.getCode 去读取最后被按下的按键 KeyUp:放开键盘的一个按键,使用Key.getCode 去读取最后被放开的按键 Da loadVariables() 动作一起指定时,da 当影片播放时,更改影片剪辑的属 语法:setProperty (target, property, value) setProperty 性值,如Alpha 、Width、Visible、 范例:setProperty ("happy",_alpha= 30); Rotation 等 在指定的ClipEvent 事件触发后,刷 updateAfterEvent 语法:updateAfterEvent() 新屏幕显示,可以避免刷新网页时的 屏幕闪烁 4.变量 语法:delete (reference) 范例:account = new Object(); delete account.name = 'mx'; 删除指定的对象或变量 account.balance = 5000; delete account; 设置变量的值,可运用【运算法】的 方式设置其为字符串或数值。和大多 语法:variable = value 数的程序语言一样,设置变量名称 set variable 范例:x= random(15) + 6; 时,变量名称的第一个字需为英文而 不能是数字,而在Flash 中变量是没 有大小写之分 语法:var variableName 范例:var x; var y = 1; 声明变量 var z = 3, w = 4; var s, t, u = z; 语法:with (object) {statement} with 范例:with (_root.apple) { 使用with 控制影片剪辑 gotoAndStop (3); } 5.判定条件/循环 语法:break; 范例:var i = 0; while (true) { 命令Flash 跳过循环体的其余部分, if (i >= 100) { 停止循环动作,并执行循环语句之后 break; 的语句 } } 出现在几种循环类型中,会先跳过循 环里的其余部分再执行: 在while 循环内,会回到循环顶端再 度测试条件。 continue 语法:continue; 在do while 里会到循环底部测试条件。 在for 内,会跳过循环的判定位置。 在for...in 内,会回到循环顶端,处理 下一个枚举值 执行语句,然后只要条件为 true,就 do while 语法:do {statement;} while (condition); 计算循环中的条件 当if 语句的条件返回false 时,就执 else 语法:else {statement;} 行要运行的语句 先判定init (初始值)一次,然后开始 做循环,只要condition (条件)的计 for 语法:for (init; condition; next) {statement} 算结果是true,就执行要运行的语句, 然后再重新判定 语法:if (condition) {statement;} 范例:if (mx = 5){ 当if 的condition 条件式为true 时, if play(); 就执行要运行的语句 } 计算条件,假如条件计算结果为 while 语法:while (condition) {statement;} true,则在循环返回以再次计算条件 之前执行一条语句或一系列语句 6.打印 打印指定影片剪辑的所有Frame,若 只想打印特定几页时,请在要打印的 Frame 加上Frame Lable:#print 语法:print (target,method); 范例:print ("fish","bmovie"); Method 可分为以下3 种: Bmovie :指明以电影的边界区域(bounding area )作为打印区域。可以在编写环境 (authoring)中,在那几个帧附上标签:#b。 Bmax:可指定这个混合各个边界区域的参数,来作为打印范围。 Bframe:缩放每格的对象大小,来填满打印的页面 7.自定义函数 在被调用帧中执行脚本,而不将播放 头移动到该帧 call 语法:call (frame) 语法:function functionname ([parameters]) {statement } function 范例:function Circle(radius) { 自定义函数 this.radius = radius; } method 语法:object.method = function ([parameters]) { }; 自定义对象的方法 语法:return [expr return 范例:function sum (a,b,c) { return 或函数循环执行时,没有这个 return a + b + c; 命令,则函数返回null } 8.各种动作 在测试模式下,计算表达式并在 trace 语法:trace (expr 侦错 在Actions 中加上批注说明文字,以 语法:// comment 避免Actions 太混杂难以理解,此功 comment 范例:// 这是一个计数器的判定式 能对于往后的维护工作,甚至是程序 二次开发都相当有帮助 () 范例:gotoAndPlay("Scene 1"1) 范围 "" 范例:tellTarget("/game") 字符串 1.数学运算符 + 加 范例:a = 10 ; b = 5 - e = a = b // e = 15 减 c = a - b // c = 5 * 乘 g = a * b // g = 50 / h = a/b // h = 2 除 i = a % b // i = 0 % A/B 的余数 2.比较运算符 == 等于 范例:a = 50; b = 30; c = 20 < b < a 小于 a > c > 大于 if (c <= b) <= 小于等于 if (a >= c) >= i == 0 大于等于 != if (a != b) 不等于 语法:escape(expr 范例:k = escape("Happy New Year"); 将参数转换为字符串,并以 URL 编 escape trace(k) 码格式对其进行编码 结果:Happy%20New%20Year 语法:ev 范例:on (release) { x = “3”; 按照名称访问变量、属性、对象或影 ev trace (ev } 结果:3 语法:getProperty(instancename, property) getProperty 返回指定属性的值 范例:getPrperty(_root.fish,_x) 返回自SWF 文件开始播放时起已经 getTimer 语法:getTimer() 过的毫秒数 返回一个包含Flash Player 版本与平 台信息的字符串,此函数在 getVersion 语法:getVersion() Test-movie Mode (测试电影模式)不 会执行 返回一个包含Movie Clip 对象的目 targetPath 语法:targetpath(movieClipObject) 标路径字符串 语法:unescape(x) 范例:k = unescape("Happy%20 New%20Year"); 将 URL 编码格式的字符串转换成 unescape trace(k) ASCII 字符格式 结果:Happy New Year 1.转换函数 Boolean 语法:Boolean (expr Number 语法:Number (expr 转换指定的参数到字符串类型 Actions 语法/范例 说明 _alpha 语法:instancename. _alpha=value; 范例:kewpie._alpha=30; 设置影片剪辑的透明值。有效值是0 (全透明)到100(不透明) _visible 语法:instancename._visible,"boolean"; 范例:apple.visible = 1 决定instancename 参数指定的影片 是否看得见 _target 语法:instancename._target 获得影片剪辑的目标路径 _rotation 语法:instancename._rotation; 范例:setProperty ("movieclip" _rotation=30); 设置影片剪辑的旋转角度 _name 语法:instancename._name 范例:setProperty("movieclip" _name, "string"); 获得影片剪辑的实例名称 _framesloaded 语法:_framesloaded = x; 范例:happy._framesloaded = 25; 确定特定帧及其前面所有帧的内容 是否已经加载,并且是否可在浏览 器本地使用。参数:x 为时间轴上的 帧数 _droptarget 语法:myMovieClip._droptarget 范例:if (happy._droptarget == root.trash) { happy._visible = false; } 返回该影片剪辑的绝对路径 _currentframe 语法:_currentframe; 范例:gotoAndStop (_currentframe+5) 结果:引导影片前进 5 格 获得影片剪辑的当前帧 _totalframes 语法:_totalframes; 范例:if (_currentframe=_totalframes) 获得影片剪辑的总帧数 _quality 语法:_quality = x; 电影的质量,x 值包括低(low)、 中等(medium)、高(high)或最 好(best) _focusrect 语法:_focusrect =Boolean 当按Tab 键浏览时,按钮上是否有个 黄色的边框出现 _soundbuftime 语法:instancename._soundbuftime 范例:setProperty ("happy "_soundbuftime, "5"); 指定在声音开始进入流之前,预先缓 冲的秒数 _url 语法:instancename._url; 范例:setProperty ("happy" _url,"www.e-happy. com.tw" 读取网址(URL)位置的影片剪辑 String 语法:String (expr 的数字、布尔式或表达式 2.数学函数 判定数据内容是否为数值,假如不是 isNaN 语法:isNaN (expr 数值则返回true 将字符串转换为浮点数,直到此函数 parseFloat 语法:parseFloat(string) 碰到不是初始数字一部分的字符 将字符串转换成整数,并进一步设置 parseInt 语法:parseInt(expr 数值的进制 设置影片剪辑的x 坐标,左上角默认 _x 语法:instancename._x 为(0,0) _y 语法:instancename._y 设置影片剪辑的y 坐标 语法:instancename._xmouse _xmouse 获得鼠标位置的x 坐标 范例:happy._xmouse = 50 语法:instancename._ymouse _ymouse 获得鼠标位置的y 坐标 范例:happy._ymouse = 50; 语法:instancename._xscale 从注册点开始应用的水平缩放比例, _xscale 范例:setProperty ("movieclip"_xscale, "70"); 以百分比表示。默认注册点为(0,0) 语法:instancename._yscale 从注册点开始应用的垂直缩放比例, _yscale 范例:setProperty ("movieclip"_yscale, "60"); 以百分比表示。默认注册点为 (0,0) 语法:instancename._width = value; _width 设置影片剪辑的宽度 范例:setProperty ("movieclip",_width, "80"); 语法:instancename._height= value; _height 设置影片剪辑的高度 范例:setProperty ("movieclip",_height, "50") 五、对象-核心-Date Actions 语法/范例 说明 new Date (构造函数) 语法:new Date(year,month,date, hour, min,sec,ms); 范例:now = new Date(); trace(now) 结果:Thu Mar 7 16:01:20 GMT+0800 2001 创建Date 对象 getDate 语法:mydate.getdate(); 范例:now = new Date(); mydate = now.getDate() trace (mydate); 按照本地时间返回指定的 Date 对 象中表示月中某天的值(1 到 31 之 间的整数) getDay 语法:mydate.getday(); 范例:now = new Date(); myday = now.getDay() trace (myday); 按照本地时间返回指定的 Date 对 象中表示周几的值(0 代表星期日, 1 代表星期一,以此类推) getFullYear 语法:mydate.getfullyear(); 范例:now = new Date(); myfullyear = now.getfullyear() trace (myfullyear); 按照本地时间返回指定的 Date 对 象中的完整年份值(一个 4 位数, 如2002) getHours 语法:mydate.gethours(); 范例:now = new Date(); myhours = now.gethours() trace (myhours); 按照本地时间返回指定的 Date 对 象中的小时值(0 到 23 之间的 整数) getMinutes 语法:mydate.getminutes(); 范例:now = new Date(); myminutes = now.getminutes() trace (myminutes); 按照本地时间返回指定的 Date 对 象中的分钟值(0 到 59 之间的 整数) getMonth 语法:mydate.getmonth(); 范例:now = new Date(); mymonth = now.getmonth() trace (mymonth); 按照本地时间返回指定的 Date 对 象中的月份值(0 代表一月,1 代表 二月,以此类推) getSeconds 语法:mydate.getsecondes(); 范例:now = new Date(); myseconds = now.getseconds() trace (myseconds); 按照本地时间返回指定的 Date 对 象中的秒钟值(0 到 59 之间的 整数) toString 语法:mydate.tostring(); 将日期转换成可读的字符串值 |
|