《Flash5 ActionScript语法详解1》.doc_第1页
《Flash5 ActionScript语法详解1》.doc_第2页
《Flash5 ActionScript语法详解1》.doc_第3页
《Flash5 ActionScript语法详解1》.doc_第4页
《Flash5 ActionScript语法详解1》.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Flash5 ActionScript语法详解2、约定称谓: - variable 变量,可为数值、布尔值或字符串。 target 目标路径字符串。 mc 影片片段实例,可为实例的对象实体或目标路径字符串。 property 影片片段属性。 obj_mc 对象或影片片段。 member 对象的成员或影片片段的属性。 expression 表达式,可为变量、对象、影片片段实例或式子。 num 数值表达式。 string 字符串表达式。 char 字符表达式。 func 函数。statement 语句。 scene 场景,可为常量或表达式。 frame 帧,可为常量或表达式。 url URL链接字符串。 = 运算符 = 1、 算术运算符: 2、 - - 取负 -expression + 加 expression1 + expression2 - 减 expression1 - expression2 * 乘 expression1 * expression2 / 除 expression1 / expression2 % 求余 expression1 % expression2 12 % 5 - 2 ?: 定向运算符 expression1 ? expression2 : expression3 当expression1的值为true时取expression2,否则取expression3 2、逻辑运算符:(注:括号中为旧版本写法) - !(not) 逻辑非 !expression &(and) 逻辑与 expression1 & expression2 |(or) 逻辑或 expression1 | expression2 !=( 不相等 expression1 != expression2 = 相等 expression1 = expression2 小于 expression1 大于 expression1 expression2 = 小于等于 expression1 = 大于等于 expression1 = expression2 说明:在使用&(|)时,若表达式expression1已为false(true)值,则不再计 算expression2的值,直接返回false(true)。否则,继续计算expression2的值,再 作逻辑与(或)运算。 3、字符串运算符:(注:括号中为新版本中的符号表示法) - , 引号 用于表示字符串 add(+) 字符串叠加 expression1 add expression2 1 add 2 - 12 eq(=) 字符串相等 expression1 eq expression2 ne(!=) 字符串不相等 expression1 ne expression2 lt( true gt( 字符串大于 expression1 gt expression2 12 gt 1 - true le(=) 字符串大于等于 expression1 ge expression2 说明:字符串在比较时,按从左到右一个个字符比较ASCII码。若遇到不同,就返 回ASCII码大小比较的结果。如果直到一个字符串结束时都相等,则若另一个字符串也 结束,就表示相等,否则,未结束的字符串较大。 虽然字符串运算符可用相应的符号表示,但在使用上有一定区别。用字母表示的运算符在处理时先将两个表达式都转化为字符串后再作运算或比较。而用符号表示 的运算符在处理时若有一个表达式为数值,就将另一个表达式转化为数值再作运算或比 较。比如:19 2的值为true,而19 gt 2的值为false。 4、位运算符: - 按位取反 expression 按位1-0,0-1 & 按位与 expression1 & expression2 按位11-1,10-0,01-0, 00-0 | 按位或 expression1 | expression2 按位11-1,10-1,01-1, 00-0 按位异或 expression1 expression2 按位11-0,10-1,01-1, 00-0 按位左移 expression 按位算术右移 expression num 右移num位,左补符号位 按位逻辑右移 expression num 右移num位,左补0 说明:按位运算表示将两个表达式的值转化为数值后按二进制的位进行运算。比如 12 & 34 - 2,由于12的二进制为01010,34的二进制为10010,所以按位与后为00010 即2。按位移动时num的取值为031 5、赋值运算符: - + 自加 variable+,+variable 相当于variable = variable + 1 - 自减 variable-,-variable 相当于variable = variable - 1 += 自加赋值 variable += expression 等价于varaible = variable + expression -= 自减赋值 variable -= expression 等价于varaible = variable - expression *= 自乘赋值 variable *= expression 等价于varaible = variable * expression /= 自除赋值 variable /= expression 等价于varaible = variable / expression %= 自求余赋值 variable %= expression 等价于varaible = variable % expression &= 自按位与赋值 variable &= expression 等价于varaible = variable & expression |= 自按位或赋值 variable |= expression 等价于varaible = variable | expression = 自按位异或赋值 variable = expression 等价于varaible = variable expression = 自按位左移赋值 variable = num 等价于varaible = variable = 自按位算术右移赋值 variable = num 等价于varaible = variable num = 自按位逻辑右移赋值 variable = num 等价于varaible = variable num 说明:自加和自减的两种用法在返回值上有区别。variable+(-)返回variable未 更改前的值,+(-)variable返回variable更改后的值。 6、括号运算符: - () 小括号 用法1:用于重置表达式运算的优先级 如:(a + 3) * 4 用法2:用于包含函数的参数 如:function func(var1, var2) . date = getDate(); 中括号 用法1:用于定义及初始化数组 如:myArray = myArray = new Array() myArray = red, orange, yellow 用法2:用于获取数组中的项 如:myArray0 = red 用法3:用于获取对象或影片片段的成员 如:account = myObjectaccount account = myObject.account _rootmc + 1_x = 30 _root.mc1._x = 30 大括号 用法1:用于界定语句段范围(用在复合语句与函数体定义中) 如:if (a = 2) a = 3; b = 4; . function myFunc() . 用法2:用于定义及初始化对象 如:myObj = myObject = new Object() person = name:Peter, child:Amy 7、其他运算符: - ; 分号 statement1; statement2 用于分隔同一行内的两个语句 , 逗号 expression1, expression2 用于在一个语句内分隔两个表达式 . 点运算符 obj_mc.member 用于连接对象(影片片段)和其成员(属性) typeof 获取类型 typeof(expression) 返回表达式的值的类型(字符串表示) 未定义 undefined 空值 null 数值 number 字符串 string 对象 object 函数 function 影片片段 movieclip void 未定义值 void(expression) 返回未定义值 = 语法关键字及语句 = 1、指令语句: - break 跳出最近的循环体(do.while,while.,for.,for(in).) continue 用在循环体内,表示忽略之后的语句,直接进入下一轮循环 #include filename 引入一个外部脚本文件: var variable 定义一个局部变量(只在函数体内有效) return expression 跳出函数体(并返回一个值) new func(.) 新建一个对象,并用func构造函数进行构造 delete variable 删除一个变量,使其变为未定义 2、判断语句(内语句数为1时可省): - if (expression1) statement(s)1 else if (expression2) statement(s)2 . else statement(s)n 当expression1为true时执行statement(s)1,当expression2为true执行 statement(s)2否则执行statement(s)n。内语句数为1时可省。 ifFrameLoaded (scene, frame) statement(s) 当场景scene的帧frame已经载入时,执行statement(s)。 3、循环语句(内语句数为1时可省): - while (expression) statement(s) 当expression的值为true时反复执行statement(s)直到expression的值为false。 do statement(s) while (expression) 反复执行statement(s)直到expression为false。内语句数为1时可省。 for (statement1; expression; statement2) statements(s) 先执行statement1,当expression的值为true时反复执行statement(s),并在执行 完一轮后执行一次statement2,直到expression的值为false。 for (variable in obj_mc) statements(s) variable依次取obj_mc的各成员名称,反复执行statements(s),直到所有成员都 取过一遍。 4、对象操作语句(内语句数为1时可省): - with (obj_mc) statement(s) 对obj_mc进行操作,凡statement(s)里用到的与obj_mc的成员名相同的变量、函数 、影片片段,都指代obj_mc的成员。 tellTarget (mc) statement(s) 对mc进行操作,凡用到的变量、函数、影片片段,只要未指明绝对路径,都指代mc 的成员。 5、函数及事件: - function func(variable1, variable2, .) statement(s) 定义一个函数。函数体内this对象指代调用该函数的对象或影片片段,未用var定义 的变量(非形参)从属于该函数所在的影片片段。func名称省略时该复合语句返回 一个类型为function的值,用以指代该函数。 on (mouseEvent) statement(s) 只能用在按钮的动作里。mouseEvent的可取值为: press 鼠标键在按钮上按下 release 鼠标键在按钮上松开 releaseOutside 鼠标键在按钮区域外松开 rollOver 鼠标滑过按钮 rollOut 鼠标滑出按钮 dragOver 鼠标有键按下时滑过按钮 dragOut 鼠标有键按下时滑出按钮 keyPress(key) key键被按下,key为ASCII码字符或Key对象常量 各事件可用逗号分隔,当有一事件成立时就执行statement(s)。 onClipEvent (clipEvent) statement(s) 只能用在影片片段的动作里。clipEvent的可取值为: load 该影片片段已载入 unload 该影片片段被卸载 data 用loadVariableNum载入数据后或用loadMovie载入影片的每个影片片段后 enterFrame 播放至该影片片段所在帧(若停在该帧则反复执行) mouseMove 鼠标移动 mouseDown 鼠标键按下 mouseUp 鼠标键松开 keyDown 键盘键按下 keyUp 键盘键松开 各事件可用逗号分隔,当有一事件成立时就执行statement(s)。 = 常量及全局函数 = 注:函数名前加=号的表示该函数有返回值。 1、常量: - true 逻辑真。 false 逻辑假。 null 空值,可与未定义值相等(但类型不同)。如variable未定义时, variable = null为true。 NaN 表示Not a Number,即非数值量。用于表征数值计算时发生的非数值型错 误。如:1 * a就得NaN。 newline 表示换行符,即n。 Infinity 表示无穷大数值。如:-1 / 0得-Infinity。 2、数值运算函数: - = Number(expression) 将expression转化成数值,expression为false、null或未定义时返回0, 为true时返回1,无法转化时返回NaN。如:Number(12e2)返回1200。 = Boolean(expression) 将expression转化成布尔值。expression的值为false、null、false或 为字符串且Number(expression)为NaN或0则返回false,否则返回true。 = int(expression) 将expression转化成数值后取整。如:int(-1.2)返回-1。 = random(num) 随机返回0到num-1(num必须正整数)的某一个整数。 = isFinite(expression) 判断expression转化成数值后是否为有限量。比如isFinite(1/0)返回 false。 = isNaN(expression) 判断expression是否为非数值量。 = parseInt(expression, radix_num) 把expression先转化为字符串后再按radix_num进制理解转化为整数。比如: parseInt(12, 16)返回18。 = parseFloat(string) 把字符串转化为浮点数。如:parseFloat(1.2e-2)返回0.012。 3、字符串运算函数: - = String(expression) 将expression转为字符串。expression的值可为布尔值、数值、一般对象 (返回objectobject)、数组对象(返回各项的值列表)、影片片 段(返回绝对路径)。 = chr(num) 返回ASCII码值为num的对应字符。 = ord(char) 返回字符char所对应的ASCII码值(8-bit)。 = length(string) 返回string长度(即字符个数)。 = substring(string, start_num, length_num) 返回string中第start_num(需=0,否则取0)个字符开始,长度为 length_num(需=0,否则忽略)的子串。若length省略或过界,则返回 start_num之后的整个子串。 = mbchr(num) 返回ASCII码值为num的对应双字节字符。 = mbord(char) 返回双字节字符char所对应的ASCII码值(16-bit)。 = mblength(string) 返回string的双字节长度。 = mbsubstring(string, start_num, length_num) 返回string中第start_num个字符开始,长度为length_num的子串。 = escape(string) 将一般字符串译成URL编码格式的字符串。如escape(1&2)返回1%262。 = unescape(string) 将URL格式的字符串解码成一般字符串。如unexcape(%D7%D4%D4%DA)返 回自在。 注:字符串按双字节字符处理时,双字节字符(如中文字符)代表一个整体。比如 字符串Im 自在幻想,用在length函数时返回12,而用在mblength函数时返回8。 4、其他函数: - = getProperty(mc, property) 返回影片片段mc的property属性值。 = targetPath(mc) 返回影片片段mc的绝对路径字符串。如主场景下的一个影片片段名为mc1, 则targetPath(_root.mc1)返回_level0.mc1。 = eval(target) 返回目标路径字符串target所指代的变量、对象或影片片段实例。如上例 中eval(_root.mc1)返回影片片段mc1实体。 = getTimer() 返回影片从开始播放到当前的时间间隔(毫秒单位)。 = getVersion() 返回系统平台及FlashPlayer的版本。如返回WIN 5, 0, 30, 0表示当前 系统为Windows,FlashPlayer的版本为5.0r30。 = 影片及影片片段属性 = 1、影片片段可改属性: - _x 中心点所在相对X坐标(象素单位) _y 中心点所在相对Y坐标(象素单位) _xscale 横向缩放比例,初始为100 _yscale 纵向缩放比例,初始为100 _rotation 相对旋转角度(度单位) _width 相对显示宽度(象素单位) _height 相对显示高度(象素单位) _alpha 显示透明度(0100) _visible 是否可见 _focusrect 是否显示焦点框 _name 实例名称 2、影片片段只读属性: - _totalframes 总帧数 _framesloaded 已载入的帧数 _currentframe 当前所在帧 _target 绝对目标路径字符串 _url 来源URL地址字符串 _droptarget 拖拽该影片片段的释放点所在的绝对目标路径字符串 _xmouse 鼠标对该影片片段的相对X坐标 _ymouse 鼠标对该影片片段的相对Y坐标 3、影片属性: - _quality 显示品质(取值:LOW,MEDIUM,HIGH,BEST) _highquality 显示高品质(取值:0表示low,1表示high,2表示best) _soundbuftime 流式声音的缓冲时间(秒单位) = 动作指令函数 = 1、影片片段操控动作(与影片片段对象的同名方法等价): - play() 开始播放当前影片片段(从当前帧开始)。 stop() 停止播放当前影片片段。 prevFrame() 跳至并停止在前一祯。 nextFrame() 跳至并停止在下一祯。 prevScene() 跳至并停止在前一场景的第1帧。 nextScene() 跳至并停止在下一场景的第1帧。 gotoAndPlay(scene, frame) 跳至scene场景(省略表示当前场景)的frame帧并播放。 gotoAndStop(scene, frame) 跳至scene场景(省略表示当前场景)的frame帧并停止。 stopDrag() 停止当前的拖拽动作。 2、影片片段相关动作: - duplicateMovieClip(mc, name_string, depth_num) 动态复制影片片段mc,副本取名为name_string,显示层次为depth_num, 副本与源本在同一路径下,且从第1帧开始播放,源本的状态也被复制。 显示层次指的是在该路径下各影片片段的显示上下关系,同一层只能有一 个影片片段,否则已有者将被删除,以让位给新定义者。 removeMovieClip(mc) 删除动态创建(用duplicationMovieClip、attachMovie)的影片片段mc。 setProperty(mc, property, expression) 设置影片片段mc的property属性为expression的值。 startDrag(mc, lockcenter, x1, y1, x2, y2) 开始拖拽mc(一个时刻只能有一个影片片段被拖拽)。lockcenter指定是否 把mc的中心点对准鼠标热点(默认为false),x1,y1,x2,y2指定mc所能移动 的范围(默认为整个显示区)。 updateAfterEvent(clipEvent) 只能用在影片片段的动作里,使得一处理完clipEvent事件就刷新影片显示。 虽然鼠标和影片片段事件当事件一发生就会执行,但由于影片FPS(每秒显 示的帧数)的限制,只有当播放到下一帧时事件所作的改动才会被显现,而 这时事件可能已被执行了多次。为了使事件实时作用,就可以在事件处理中 调用updateAfterEvent,从而使动画显示平滑。clipEvent的可取值有: mouseMove、mouseDown、mouseUp、keyDown、keyUp。 loadMovie(url, mc, mode) loadMovieNum(url, level_num, mode) 载入url所指定的swf影片文件到影片片段mc(第level_num级影片)下,该操 作将会替换掉mc(第level_num级影片)原来的内容。mode指定传递参数的方 式(参见getURL)。之后,此mc(_levelN N为level_num的值)便作为载入 影片片段的_root。 unloadMovie(mc) unloadMovieNum(level_num) 卸载影片片段mc(第level_num级影片),可以是原来就有的或用loadMovie或 loadMovieNum载入的。比如在1.swf中载入2.swf时写loadMovie(2.swf, _root.mc1)(mc1为1.swf主场景下已有的一个影片片段),就可以在1.swf中 用unloadMovie(_root.mc1)或在2.swf中用unload(_root)来卸载2.swf。 3、其他动作: - trace(expression) 测试expression的值并在输出区显示(只在预览中有用)。 set(target, expression) 设置目标路径字符串target所指代的变量、对象的值为expression的值。 一般用在该变量的名称不确定的情况,如:set(a + i, i)。 call(frame) 执行frame帧的动作语句(不改变当前变量环境,但在frame帧里的语句中用 var声明的变量在调用后被清除。相当于一个函数体)。 stopAllSounds() 关闭影片的所有声音。 toggleHighQuality() 使影片显示品质在low和high之间切换。 loadVariables(url, mc, mode) loadVariablesNum(url, level_num, mode) 从url所指定的文件读取数据到影片片段mc(第level_num级影片)下。mode 指定传递参数的方式(参见getURL)。比如loadVariables(1.txt, _root) ,在1.txt中写:a=Fictiony,则载入后_root.a变量的值就为Fictiony。 被读取的文件格式与通过URL向服务器端程序发送参数是一样的,如: a=3&b=4&c=Good+Day 在写时,=号左边表示变量名,右边表示数据(按字符串理解),&符用来分 隔参数(未分隔的参数定义里若有多个=,则除第1个外都作数据理解),+ 号用来连接两个字符串(相当于空格),%用来表示url编码字符(如%26表 示&符)。如需要读入&、+和%字符,则需写成url编码字符形式,分别为: &:%26,+:%2B,%:%25 print(mc, type) printNum(level_num, type) printAsBitmap(mc, type) printAsBitmapNum(level_num, type) 打印影片片段mc(第level_num级影片)。需打印的帧可在编辑时给帧取#P 标签来指定。type指定打印的方式,可取值为: bmovie 表示按给定的帧的范围为边界打印各帧。可在编辑时给需 按此帧范围为边界的帧取#b标签来指定。 bmax 表示按所有需打印的帧的范围之和为边界打印各帧。 bframe 表示按各打印帧的范围为边界打印各帧。 当要打印的帧里存在颜色效果或透明度设置时,需用printAsBitmap或 printAsBitmapNum来打印以获得正确效果,一般情况下最好用print或printNum 来打印以便获取矢量图的最佳效果。 getURL(url, window, mode) 打开url所表示的链接,window表示所使用的页(窗口),可取值为: _self 在当前活动页打开(默认) _blank 在新窗口内打开 _parent 在当前页的上一级框架页打开 _top 在当前框架的基层框架页打开 mode指定传递参数的方式,可为GET(默认)或POST。GET表示将参数列 表直接添加到url之后,与之一起提交,一般适用与参数较少且简单的情况, POST表示将参数列表单独提交,在速度上会慢一些,但不容易丢失数据,适 用与参数较多较复杂的情况。 fscommand(cmd_string, arg_string) 执行主机端指令。cmd_string指定所要执行的指令名,可为FlashPlayer的 指令或浏览器JavaScript函数。arg_string声明该指令所用到的参数。 FlashPlayer的指令有(只能在独立播放器时使用): fullscreen 是否全屏播放,参数为true或false allowscale 是否允许通过拉伸窗口缩放影片,参数为true或false showmenu 是否在播放器显示菜单,参数为true或false trapallkeys 是否屏蔽播放器的快捷键(如Esc表示停止播放并恢复 视窗显示),参数为true或false。但Alt+F4系统快捷 键(关闭窗口)依然可用。 exec 运行arg_string所指定的文件。如: fscommand(exec, c:/windows/notepad.exe) 可以写相对或绝对路径,如果运行文件在系统目录下 可以省略绝对路径。若要加参数,必须用Tab即chr(9) 来分隔。如: fscommand(exec, notepad.exe+chr(9)+1.txt) quit 退出影片。无参数。 对于JavaScript的函数,在定义时格式必须为movieID_Dofscommand(cmd_string, arg_string),其中movieID用在网页中定义Flash动画时的object标签的id属性 或embed标签的name属性值代替。如: width=400 height=300 id=myMovie type=application/x-shockwave-flash width=400 height=300 id=myMovie 这样定义的Flash动画对应的JavaScript函数就是: myMovie_Dofscommand(cmd_string, arg_string) . = 系统预定义对象 = 注:系统预定义对象无路径概念,在任何环境下都只需直接写对象名。 函数名前加=号的表示该函数有返回值。 1、系统层级对象: - _root 指代当前影片的主场景级(根路径) _parent 指代上一级影片片段(相对路径) _levelN 指代第N级影片,N由loadMovieNum载入影片时设定,主影片级为0(绝对路径) 2、鼠标对象(Mouse): - Mouse.hide() 隐藏鼠标指针 Mouse.show() 显示鼠标指针 3、按键对象(Key): - 键值(键盘扫描码)宏: Key.CAPSLOCK 20 Key.CONTROL 17 Key.SHIFT 16 Key.LEFT 37 Key.RIGHT 39 Key.UP 38 Key.DOWN 40 Key.PGUP 33 Key.PGDN 34 Key.HOME 36 Key.END 35 Key.ESCAPE 27 Key.ENTER 13 Key.SPACE 32 Key.BACKSPACE 8 Key.TAB 9 Key.INSERT 45 Key.DELETEKEY 46 其他键需用相应键盘扫描码直接表示。 = Key.getAscii() 获取最近按键的ASCII码值(对控制键无效)。比如:按键a返回97。 = Key.getCode() 获取最近按键的键盘扫描码值。比如:按键CapsLock返回20。 = Key.isDown(code_num) 判断键盘扫描码为code_num的键是否按下。 = Key.isToggled(code_num) 判断CapsLock或NumLock是否为打开状态,是则返回true。keycode必须为 20(CapsLock)或144(NumLock)。 4、数学运算库对象(Math): - 数学常量: Math.E 自然对数基数e(2.71828.) Math.LN2 2的自然对数(0.69314.) Math.LOG2E 2的自然对数的倒数(1.44269.) Math.LN10 10的自然对数(2.30258.) Math.LOG10E 10的自然对数的倒数(0.43429.) Math.PI 圆周率(3.14159.) Math.SQRT2 2的平方根(1.41421.) Math.SQRT1_2 1/2的平方根(0.70710.) = Math.max(num1, num2) 比较num1和num2,返回较大值。 = Math.min(num1, num2) 比较num1和num2,返回较小值。 = Math.abs(num) 返回num的绝对值。 = Math.ceil(num) 返回大于等于num的最小整数。 = Math.floor(num) 返回小于等于num的最大整数。 = Math.round(num) 返回与num之差的绝对值最小的整数(若差为0.5则取比num大的那个整数)。 = Math.exp(num) 返回e的num次方。 = Math.log(num) 返回num的自然对数。若num不大于0则返回NaN值。 = Math.pow(num1, num2) 返回num1的num2次方。 = Math.sqrt(num) 返回num的平方根。若num不大于0则返回NaN值。 = Math.random() 随机返回0到1之间的某一个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论