+ Basic Actions 能加入到程序中的基本Action
- Go to 跳转到指定的帧
- Play 播放
- Stop 停止
- Toggle High Quality 在高画质和低画质间切换
- Stop All Sounds 停止所有声音的播放
- Get URL 使浏览器浏览指定页面
- FSCommand 发送FSCommand命令
- Load Movie 引入影片
- Unload Movie 卸载影片
- Tell Target 指定Action命令生效的目标
- If Frame Is Loaded ..帧是否被载入
- On Mouse Event 鼠标事件
+ Actions 所有的Action
- break 跳出循环
- call 调用指定帧
- comment 注释
- continue 继续循环
- delete 删除一个物件(Object)中的变量
- do while do while循环
- duplicateMovieClip 复制MC
- else 否则(与if联用)
- else if 否则如果(与if联用)
- evaluate 调用自己写的函数(Function)
- for for循环
- for .. in 列举物件(Object)中的子体(Child)
- FSCommand 发送FSCommand命令
- function 声明自定义函数
- getURL 使浏览器浏览指定页面
- goto 跳转到指定的帧
- if 如果
- ifFrameLoaded ..帧是否被载入
- include 读入外部的ActionScript程序文件(.as)
- loadMovie 引入MC
- loadVariables 引入外部文件中的变量值
- on 鼠标事件的触发条件
- onClipEvent MC的事件触发程序
- play 播放
- print 输出到打印机
- removeMovieClip 删除MC
- return 在函数(function)中返回一个值
- set variable 设定变量值
- setProperty 设定属性
- startDrag 开始拖动
- stop 停止
- stopAllSounds 停止所有声音的播放
- stopDrag 停止拖动
- swapDepths 交换两个MC的深度
- tellTarget 指定Action命令生效的目标
- toggleHighQuality 在高画质和低画质间切换
- trace 跟踪调试
- unloadMovie 卸载MC
- var 声明局部变量
- while 当..成立时..
- with 对..物件(Object)做..
+ Operators
- ! 逻辑非操作
- != 不等于
- "" 字符串
- % 取余数
- && 逻辑与操作
- () 括号
- * 乘号
- + 加号
- + + 变量自加一
- - 减号
- -- 变量自减一
- / 除号
- < 小于
- <= 小于等于
- <> 不等于
- == 相等
- > 大于
- >= 大于等于
- and 逻辑与
- not 逻辑非
- or 逻辑或
- typeof 返回变量类型
- void 实体,无返回
- | | 逻辑或操作
+ Bitwise Operators 位操作符
- & 位与操作
- << 位左移
- >> 位右移
- >>> 位右移(无符号)
- ^ 位异或操作
- | 位或操作
- ~ 补位操作
+ Compound Assign Operators 复合操作符
- %= A%=B 等效于 A=A%B
- &= A&=B 等效于 A=A&B
- *= A*=B 等效于 A=A*B
- + = A+=B 等效于 A=A+B
- -= A-=B 等效于 A=A-B
- /= A/=B 等效于 A=A/B
- <<= A<<=B 等效于 A=A<<B
- >>= A>>=B 等效于 A=A>>B
- >>>= A>>>=B 等效于 A=A>>>B
- ^= A^=B 等效于 A=A^B
- |= A|=B 等效于 A=A|B
+ String Operators 字符串操作符
- add 连接两个字符串
- eq A eq B 字符串A值与字符串值B相等
- ge A ge B 字符串A值大于等于字符串B值
- gt A gt B 字符串A值大于字符串B值
- le A le B 字符串A值小于等于字符串B值
- lt A lt B 字符串A值小于字符串B值
- ne A ne B 字符串A值不等于字符串B值
+ Functions 函数
- Boolean 取表达式的布尔值(True 或 False)
- escape 除去URL串中的非法字符
- eval 返回由表达式命名的变量得值
- false 布尔非值(0)
- getProperty 获取属性
- getTimer 获取从电影开始播放到现在的总播放时间(毫秒数)
- getVersion 获取浏览器的FLASHPlayer的版本号
- globalToLocal 场景(Scene)中的坐标转换成MC中的坐标
- hitTest 测试一个点或者MC是否同另一个交叉
- int 把数值强制转换成整数
- isFinite 测试数值是否为有限数
- isNaN 测试是否为非数值
- keycode 返回键盘按下键的键盘值
- localToGlobal MC中的坐标转换成场景(Scene)中的坐标
- maxscroll 文本框的最大长度
- newline 换行符
- Number 将参数转换成数值
- parseFloat 将字符串转换成浮点数
- parseInt 将字符串转换成小数
- random 产生0到指定数间的随机数
- scroll 文本框中的当前行
- String 将参数转换成字符串
- targetPath 返回指定实体MC的路径字符串
- true 布尔是值(1)
- unescape 保留字符串中的%XX格式的十六进制字符
+ String Functions 字符串函数
- chr 将ASCII码转换成相应字符
- length 返回字符串的长度
- mbchr 将ASCII/S-JIS编码转换成相应的多字节字符
- mblength 返回多字节字符串的长度
- mbord 将多字节字符转换成相应的ASCII/S-JIS编码
- mbsubstring 截取多字节字符串中的字串
- ord 将字符转换成ASCII码
- substring 截取字符串中的子串
+ Properties 属性
- _alpha Alpha值(透明度值)
- _currentframe 在MC中的当前帧数
- _droptarget 正在拖动的MC是否播完
- _focusrect 焦点矩形框的显示与否(True显示/Flase不显示)
- _framesloaded 载入的影帧数
- _height MC的高度
- _highquality 画质的高低(True高画质/False低画质)
- _name MC的实体名
- _quality 当前画质(字符串值) LOW,MEDIUM,HIGH,BEST
- _rotation MC旋转的角度(单位:度)
- _soundbuftime 声音的缓冲区大小(默认值5,单位:秒)
- _target MC的路径
- _totalframes 总帧数
- _url 电影被调用的URL地址
- _visible 是否可视(True可视/False不可视)
- _width MC的宽度
- _x MC的x坐标
- _xmouse 鼠标的x坐标
- _xscale MC的X轴向缩放度
- _y MC的y坐标
- _ymouse 鼠标的y坐标
- _yscale MC的y轴向缩放度
+ Objects 物件
+ Array 数组
- concat 合并多个数组
- join 合并数组元素位字符串
- length 返回数组长度
- new Array 新建数组物件
- pop 出栈 (FILO 先入后出)
- push 入栈 (入队列)
- reverse 反相(颠倒数组,及第一个元素和最后一个元素互换……)
- shift 出队列 (FIFO 先入先出)
- slice 截取数组中的子串生成新的数组
- sort 数组元素的排序
- splice 从数组中指定元素起删除指定个数的元素或者删除指定元素
- unshift 从数组头部插入一个元素
+ Boolean 布尔数
- new Boolean 新建布尔型物件
- toString 将布尔型物件的值转换成字符串值
- valueOf 获取布尔型物件的值(返回值为布尔型)
+ Color 颜色
- getRGB 获取颜色值的RGB分量(返回值0xRRGGBB十六进制)
- getTransform 获取颜色值的转换量(返回值 cxform 型) [不太清楚]
- new Color 新建一颜色物件
- setRGB 设置颜色值的RGB分量(参数为0xRRGGBB十六进制)
- setTransform 设置颜色值的转换量(参数为 cxform 型) [不太清楚]
+ Date 时间和日期
- getDate 获取当前日期(本月的几号)
- getDay 获取今天是星期几(0-Sunday,1-Monday...)
- getFullYear 获取当前年份(四位数字)
- getHours 获取当前小时数(24小时制,0-23)
- getMilliseconds 获取当前毫秒数
- getMinutes 获取当前分钟数
- getMonth 获取当前月份(注意从0开始:0-Jan,1-Feb...)
- getSeconds 获取当前秒数
- getTime 获取UTC格式的从1970.1.1 0:00以来的秒数
- getTimezoneOffset 获取当前时间和UTC格式的偏移值(以分钟为单位)
- getUTCDate 获取UTC格式的当前日期(本月的几号)
- getUTCDay 获取UTC格式的今天是星期几(0-Sunday,1-Monday...)
- getUTCFullYear 获取UTC格式的当前年份(四位数字)
- getUTCHours 获取UTC格式的当前小时数(24小时制,0-23)
- getUTCMilliseconds 获取UTC格式的当前毫秒数
- getUTCMinutes 获取UTC格式的当前分钟数
- getUTCMonth 获取UTC格式的当前月份(注意从0开始:0-Jan,1-Feb...)
- getUTCSeconds 获取UTC格式的当前秒数
- getYear 获取当前缩写年份(当前年份减去1900)
- new Date 新建日期时间物件
- setDate 设置当前日期(本月的几号)
- setFullYear 设置当前年份(四位数字)
- setHours 设置当前小时数(24小时制,0-23)
- setMilliseconds 设置当前毫秒数
- setMinutes 设置当前分钟数
- setMonth 设置当前月份(注意从0开始:0-Jan,1-Feb...)
- setSeconds 设置当前秒数
- setTime 设置UTC格式的从1970.1.1 0:00以来的秒数
- setUTCDate 设置UTC格式的当前日期(本月的几号)
- setUTCFullYear 设置UTC格式的当前年份(四位数字)
- setUTCHours 设置UTC格式的当前小时数(24小时制,0-23)
- setUTCMilliseconds 设置UTC格式的当前毫秒数
- setUTCMinutes 设置UTC格式的当前分钟数
- setUTCMonth 设置UTC格式的当前月份(注意从0开始:0-Jan,1-Feb...)
- setUTCSeconds 设置UTC格式的当前秒数
- setYear 设置当前缩写年份(当前年份减去1900)
- toString 将日期时间值转换成"日期/时间"形式的字符串值
- UTC 返回指定的UTC格式日期时间的固定时间值
+ Key 键盘
- BACKSPACE Backspace(<-)键
- CAPSLOCK CapsLock键
- CONTROL Ctrl键
- DELETEKEY Delete(Del)键
- DOWN 方向下键
- END End键
- ENTER Enter(回车)键
- ESCAPE Esc键
- getAscii 获取最后一个按下或松开的键的对应字符的Ascii码
- getCode 获取最后一个被按下的键的键盘扫描码
- HOME Home键
- INSERT Insert(Ins)键
- isDown 当指定键被按下时返回True值
- isToggled 当指定键被锁定时返回True值
- LEFT 方向左键
- PGDN PageDown(PGDN)键
- PGUP PageUp(PGUP)键
- RIGHT 方向右键
- SHIFT Shift键
- SPACE 空格键
- TAB Tab键
- UP 方向上键
+ Math 数学函数
- abs abs(n) 取n的绝对值
- acos acos(n) n的反余弦(返回值单位:弧度)
- asin asin(n) n的反正弦(返回值单位:弧度)
- atan atan(n) n的反正切(返回值单位:弧度)
- atan2 atan2(x,y) 计算x/y的反正切
- ceil ceil(n) 取靠近n的上限的整数(向上取整)
- cos cos(n) 取n的余弦(n的单位:弧度)
- E Euler(欧拉)指数(约为2.718)
- exp 指数
- floor floor(n) 取靠近n的下限的整数(向下取整)
- LN10 ln10(约等于2.302)
- LN2 ln2(约等于0.693)
- log 取自然对数(e为底)
- LOG10E 10为底取E的对数(约等于0.434)
- LOG2E 2为底取E的对数(约等于1.443)
- max 返回两参数中的最大值
- min 返回两参数中的最小值
- PI 圆周率(约等于3.14159)
- pow pow(x,y) x的y次方
- random 产生0-1间的随机数
- round 四舍五入取整
- sin sin(n) 取n的正弦(n的单位:弧度)
- sqrt 开根号
- SQRT1_2 0.5开根号(约等于0.707)
- SQRT2 2开根号(约等于1.414)
- tan tan(n) 取n的正切(n的单位:弧度)
+ MovieClip 电影剪辑
- attachMovie 绑定一个电影,产生一个库中MC的实体
- dupicateMovieClip 复制当前MC为新的MC
- getURL 使浏览器浏览指定页面
- gotoAndPlay 跳转到指定帧并播放
- gotoAndStop 跳转到指定帧并停止播放
- loadMovie 引入一个外部电影到指定层
- loadVariables 引入外部文件中的变量值
- nextFrame 下一帧
- play 播放
- prevFrame 前一帧
- removeMovieClip 删除用duplicateMovieClip创建的MC
- startDrag 开始拖动MC
- stop 停止MC的播放
- stopDrag 停止拖动MC
- unloadMovie 卸载由loadMovie引入的Movie
+ Mouse 鼠标
- hide 隐藏鼠标指针
- show 显示鼠标指针
+ Number 数值
- MAX_VALUE FLASH5 所允许的最大数值1.79769313486231 e 308
- MIN_VALUE FLASH5 所允许的最小数值5 e -324
- NaN 是否为非数值(Not a Number)
- NEGATIVE_INFINITY 是否为负数
- new Number 新建数值物件
- POSITIVE_INFINITY 是否为正数
- toString 将数值转换成字符串
+ Object 物件
- new Object 新建物件
- toString 转换物件为字符串
- valueOf 返回物件的值
+ Selection 选择区
- getBeginIndex 获取可编辑文本区的起始位置,-1表示无可编辑文本区
- getCaretIndex 获取当前的编辑位置,-1表示没有可编辑文本区
- getEndIndex 获取可编辑文本区的结束位置,-1表示无可编辑文本区
- getFocus 获取当前的激活文本区的文本变量名
- setFocus 设置当前的激活文本区
- setSelection 设置可编辑文本的起始位置和终止位置
+ Sound 声音
- attachSound 绑定库中的一个声音
- getPan 获取声音的混音值 [不太清楚]
- getTransform 获取当前声音的变换量(返回值类型:sxform) [不太清楚]
- getVolume 获取当前声音的音量(百分比)
- new Sound 新建声音物件
- setPan 设置声音的混音值 [不太清楚]
- setTransform 设置当前声音的变换量(参数类型:sxform) [不太清楚]
- setVloume 设置当前声音的音量(百分比)
- start 开始播放当前声音
- stop 停止播放当前声音
+ String 字符串
- charAt 在指定的索引表中返回一个字符
- charCodeAt 在指定的索引表中返回一个字符的代码
- concat 联结合并多个字符串
- fromCharCode 从字符代码组构造出一个新的字符串
- indexOf 在字符串中寻找子串,返回子串起始位置或-1(-1表示未找到)
- lastIndexOf 在字符串中寻找子串,返回子串终止位置或-1(-1表示未找到)
- length 返回字符串的长度
- new String 新建字符串物件
- slice 返回字符串中指定截取的子串
- split 根据限定符将字符串转换成一个数组
- substr substr( start, length ) 返回从start开始,共length长的子串
- substring substring( indexA, indexB ) 返回indexA..indexB之间的子串
- toLowerCase 将字符串中的大写字符全部转换成小写
- toUpperCase 将字符串中的小写字符全部转换成大写
+ XML 可扩充性标记语言
- appendChild 添加一个子结点到指定的XML元素
- attributes XML元素的属性数组
- childNodes 一个XML元素的子结点数组
- cloneNode 克隆(复制)当前结点
- createElement 新建一个新的XML元素
- createTextNode 新建一个新的XML文本结点
- firstChild 返回当前XML结点的第一个子结点
- hasChildNodes 当前XML结点是否有子结点(返回true有子结点/flash则无)
- insertBefore 在一个指定的XML元素的子结点前插入一个新的子结点
- lastChild 返回当前XML结点的最后一个子结点
- load 从指定的URL把XML元素引入FLASH中
- loaded 当XML元素引入或是发送同时引入FLASH中后,返回true值
- new XML 新建一个XML物件
- nextSibling 当前XML结点的下一个结点
- nodeName 返回当前XML结点的名字
- nodeType 返回当前XML结点的类型(1-元素,3-文本)
- nodeValue 返回当前XML结点的值(text型返回文本)
- onLoad 当引入或发送同时引入时触发事件
- parentNode 返回当前XML结点的父结点
- par***ML 将XML字符串转换成XML物件
- previousSibling 当前XML结点的前一个结点
- removeNode 从XML文本中删除结点
- send 从FLASH中把一个XML元素发送到指定的URL地址
- sendAndLoad 从FLASH中把一个XML元素发送到指定的URL地址同时引入XML结果
- toString 把XML物件转换为XML字符串表达
+ XMLSocket XML套接口
- close 关闭一个XML套接口
- connect 连接一个XML套接口,指定URL,并定义其端口号
- new XMLSocket 建立一个新的XML套接口
- onClose 关闭XML套接口时触发事件
- onConnect 连接XML套接口时触发事件
- onXML 从服务器上获取XML时触发事件
- send 发送XML给服务器
约定称谓:
---------------------------------------
variable 变量,可为数值、布尔值或字符串。
target 目标路径字符串。
mc 影片片段实例,可为实例的对象实体或目标路径字符串。
property 影片片段属性。
obj_mc 对象或影片片段。
member 对象的成员或影片片段的属性。
expression 表达式,可为变量、对象、影片片段实例或式子。
num 数值表达式。
string 字符串表达式。
char 字符表达式。
func 函数。
statement 语句。
scene 场景,可为常量或表达式。
frame 帧,可为常量或表达式。
url URL链接字符串。
================================================================================
● 运算符 ●
================================================================================
1、算术运算符:
---------------------------------------
- 取负 -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 < expression2
> 大于 expression1 > expression2
<= 小于等于 expression1 <= expression2
>= 大于等于 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(< ) 字符串小于 expression1 lt expression2 "12" lt "2" -> true
gt(> ) 字符串大于 expression1 gt expression2 "12" gt "1" -> true
le(<=) 字符串小于等于 expression1 le expression2
ge(>=) 字符串大于等于 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 << num 左移num位,右补0
>> 按位算术右移 expression >> num 右移num位,左补符号位
>>> 按位逻辑右移 expression >>> num 右移num位,左补0
说明:按位运算表示将两个表达式的值转化为数值后按二进制的位进行运算。比如
12 & 34 -> 2,由于12的二进制为01010,34的二进制为10010,所以按位与后为00010
即2。按位移动时num的取值为0~31
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 << num
>>= 自按位算术右移赋值 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:用于获取数组中的项
如:myArray[0] = "red"
用法3:用于获取对象或影片片段的成员
如:account = myObject["account"] <=> account = myObject.account
_root["mc" + 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的值可为布尔值、数值、一般对象
(返回"[object][object]")、数组对象(返回各项的值列表)、影片片
段(返回绝对路径)。
= 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")返
回"自在"。
注:字符串按双字节字符处理时,双字节字符(如中文字符)代表一个整体。比如
字符串"I'm 自在幻想",用在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 显示透明度(0~100)
_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属性值代替。如:
<object classid="clsid27CDB6E-AE6D-..." codebase="file:///E:/编程语言/flash%20AS/“闪客一族”FLASH互动论坛--浏览贴子.files/url.gifhttp://www.macromedia.com/...";
width="400" height="300" id="myMovie">
<param name=movie value="1.swf"><param name=quality value=high>
<embed src="1.swf" quality=high pluginspage="file:///E:/编程语言/flash%20AS/“闪客一族”FLASH互动论坛--浏览贴子.files/url.gifhttp://www.macromedia.com..."/;
type="application/x-shockwave-flash" width="400" height="300" id="myMovie">
</embed>
</object>
这样定义的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之间的某一个浮点值。
= Math.sin(num)
返回num角度的正弦值。
= Math.cos(num)
返回num角度的余弦值。
= Math.tan(num)
返回num角度的正切值。
= Math.asin(num)
返回num的反正弦值。若num不在(-1.0~1.0)范围内则返回NaN值。
= Math.acos(num)
返回num的反余弦值。若num不在(-1.0~1.0)范围内则返回NaN值。
= Math.atan(num)
返回num的反正切值。
= Math.atan2(y_num, x_num)
返回坐标为(x_num, y_num)的点的极坐标转角。
注:三角函数中所用到的角度都为弧度单位。
5、数值对象(Number):
---------------------------------------
Number.MAX_VALUE 最大浮点值(1.79e+308)
Number.MIN_VALUE 最小浮点值(5.0e-324)
Number.POSITIVE_INFINITY 理论正无穷大数值
Number.NEGATIVE_INFINITY 理论负无穷大数值
Number.NaN 非数值量(同NaN)
6、字符串对象(String):
---------------------------------------
= String.fromCharCode(code_num1, ..., code_numN)
连接ASCII码为code_num1...code_numN的各字符为字符串并返回。
7、活动文本域对象(Selection):
---------------------------------------
= Selection.getBeginIndex()
返回当前活动文本域选区的首字符序号(若无选区则返回光标所在字符序号)。
如果当前没有文本域被激活则返回-1。
= Selection.getEndIndex()
返回当前活动文本域选区的末字符序号(若无选区则返回光标所在字符序号)。
如果当前没有文本域被激活则返回-1。
Selection.setSelection(begin_num, end_num)
设置当前活动文本域的选区为从字符序号begin_num到end_num的文本范围。
= Selection.getCaretIndex()
返回当前活动文本域的光标所在字符序号。如果当前没有文本域被激活则返回-1。
= Selection.getFocus()
返回当前活动文本域所对应字符串变量的绝对路径。如果当前没有文本域被激
活则返回null。
Selection.setFocus(string)
激活字符串变量string所对应的文本域。
8、时间对象(Date):
---------------------------------------
= Date.UTC(year, month, [date, hour, minute, second, millisecond])
返回参数所指定的时间距离1970.1.1 0:00:00的时差(毫秒单位)。各参数
取值参见Date自定义对象构造函数。
================================================================================
● 自定义对象 ●
================================================================================
注:以my开头的对象名表示所指自定义对象的一个实例。
函数名前加=号的表示该函数有返回值。
1、基本对象(Object):
---------------------------------------
new Object([expression])
Object(expression)
定义一个对象,以expression的值为原始值。
= myObject.toString([radix_num])
把myObject的原始值转化成字符串后返回(不改原始值),若原始值为数值型,
则radix_num表示转化成字符串时的进制。
= myObject.valueOf()
返回myObject的原始值(原类型)。
2、类型对象(Number,Boolean,String):
---------------------------------------
即以此定义的对象与直接为变量赋相应值效果相当(直接赋值也可以调用对象成员函数)。
new Number(expression)
定义一个数值对象,其值为expression转化成数值后的值。
= myNumber.toString([radix_num])
把myNumber的值按radix_num(默认为10)进制转化成字符串后返回(myNumber
不改变)。
= myNumber.valueOf()
返回myNumber的原始值(原类型)。
new Boolean(expression)
定义一个布尔量对象,其值为expression转化成布尔量后的值。
= myBoolean.toString()
把myBoolean的值转化成字符串(即"true"或"false")后返回(myBoolean不改变)。
= myBoolean.valueOf()
返回myBoolean的原始值(原类型)。
new String(expression)
定义一个字符串对象,其值为expression转化成字符串后的值。
字符串对象成员变量:
myString.length 字符串长度(只读)
myString.scroll 字符串所对应文本域的当前首行号
myString.maxscroll 字符串所对应文本域的最大可用首行号(只读)
= myString.charAt(num)
返回myString里序号为num的字符。如:String("abc").charAt(2)返回'c'。
= myString.charCodeAt(num)
返回myString里序号为num的字符的ASCII码值(16-bit)。
= myString.indexOf(expression, [begin_num])
将expression转化成字符串并在myString里自序号为begin_num(默认为0)的
字符开始查找,返回最先找到的位置序号,若找不到则返回-1。
= myString.lastIndexOf(expression, [end_num])
将expression转化成字符串并在myString里自序号为end_num(默认为myString
最末字符的序号)的字符开始往回查找查找,返回最先找到的位置序号,若找
不到则返回-1。
= myString.toLowerCase()
将myString里的大写字母全转化为小写后返回(myString不改变)。
= myString.toUpperCase()
将myString里的小写字母全转化为大写后返回(myString不改变)。
= myString.concat(expression1, ..., expressionN)
将expresion1...expressionN转化成字符串并添加到myString之后(myString
不改变),返回添加后的字符串。
= myString.slice(begin_num, [end_num])
截取myString里从字符序号为begin_num到end_num(默认为myString的长度)
的子串(不包括end_num)。begin_num和end_num为负表示从最后字符倒数回去
的序号,如:String("1234567").slice(-5, 6)返回"3456"。
= myString.substr(begin_num, [num])
截取myString里从字符序号为从begin_num开始的num个字符的子串,如果num未
指定,则表示从begin_num开始到myString结尾的子串。begin_num为负表示从
最后字符倒回去的序号。
= myString.substring(begin_num, [end_num])
截取myString里从字符序号为begin_num到end_num(默认为myString的长度)
的子串(不包括end_num)。如果begin_num小于0则取0,begin_num大于end_num
则将两者互换后再处理。
= myString.split(char)
按字符char为分隔符理解myString并打散成字符串数组返回,若char为空,则
把myString按一个字符一个字符打散。如:String("123.234.345.12").split('.')
返回一个数组["123", "234", "345", "12"]。
3、数组对象(Array):
---------------------------------------
new Array([num])
定义一个项数为num(必须为数值)的数组,默认为空数组。
new Array(expression1, ..., expressionN)
定义一个各项值为expression1...expressionN的值的数组,类型不限。当只有
一项时,其值不能为数值,以区分定义指定项数的数组。
字符串对象成员变量:
myArray.length 数组项数
= myArray.toString()
将数组的各项转化为字符串后以","为分隔符连接成字符串。
= myArray.join([string])
将数组的各项转化为字符串后以string(默认为",")为分隔符连接成字符串
返回。如:a = [[1, 2], 'a']则a.join('+')返回"1,2+a"。
= myArray.push(expression1, ..., expressionN)
堆栈压入。将expression1...expressionN的各值为新的项加至myArray末尾,
并返回添加后myArray的项数。
= myArray.pop()
堆栈弹出。删除myArray的最末项并返回该项的值。
= myArray.unshift(expression1, ..., expressionN)
队列压入。将expression1...expressionN的各值为新的项加至myArray开头,
并返回添加后myArray的项数。
= myArray.shift()
队列弹出。删除myArray的首项并返回该项的值。
= myArray.concat(expression1, ..., expressionN)
将expresion1...expressionN的各值为新的项加到myArray之后(myArray不改
变),返回添加后的新数组。若expression本身为数组,则取其各项而非该数
组本身。如:[1, 2].concat([3, 4], 5, [[6, 7], 8])返回[1, 2, 3, 4, 5,
[6, 7], 8]。
= myArray.slice(begin_num, [end_num])
截取myArray的第begin_num项到第end_num项(默认为myArray的项数)并组成
新的数组返回(不包括第end_num项)。begin_num和end_num为负表示从最后
项倒数回去的序号。
= myArray.splice(begin_num, del_num, [expression1, ..., expressionN])
从myArray的第begin_num项开始删除del_num项,然后将expression1...expressionN
的各值为新的项插入到myArray第begin_num项的位置。返回删除的各项所组成
的数组。如:a = [1, 2, 3, 4]则a.splice(1, 2, 'a', 'b', 'c')返回[2, 3],
且a变成[1, 'a', 'b', 'c', 4]。
= myArray.sort([order_func])
对myArray的各项进行排序,返回myArray的引用。order_func为自定义的二项
比较函数,须返回:<0(正序)=0(等值)>0(逆序),默认为把项转化成字
符串进行比较,并按从小到大排。如:
a = [1, 6, 3, 2, 5];
function order(num1, num2) {return num2 - num1;}
a.sort(order);
此时a变成[6, 5, 3, 2, 1]。
= myArray.reverse()
将myArray的项反序排列。返回myArray的引用。
4、时间对象(Date):
---------------------------------------
new Date()
定义一个时间对象,其时间为当前系统时间(当地时间)。
new Date(year, month, [date, hour, minute, second, millisecond])
定义一个时间对象,其时间根据给定的参数(当地时间)确定。各参数取值
为:year(0~99表示1900~1999,此外表示公制年份),month(0~11),
date(1~31),hour(0~23),minute(0~59),second(0~59),millisecond
(0~999)。
new Date(dateUTC_num)
定义一个时间对象,其时间根据dateUTC_num,即距离1970.1.1 0:00:00(GMT)
的时差(毫秒单位)决定。如:t = new Date(Date.UTC(2001, 10, 1, 18, 0))
则t就表示2001.11.1 18:00(GMT),以北京当地时间即为2001.11.2 2:00
(GMT+8:00)。
= myDate.toString()
将myDate以字符串形式返回,如:"Sun May 27 03:47:00 GMT+0900 2001",
表示myDate所指的当地时间为2001.5.27 3:47:00(周日),其时区为GMT+9:00
即格林威治世界标准时加9小时。
= myDate.getFullYear()
返回myDate所指时间的公制年份(当地时间)。
= myDate.getYear()
返回myDate所指时间的公制年份(当地时间)-1900,如2001年就为101。
= myDate.setFullYear(year, [month, date])
设置myDate的年月日(当地时间),year必须为公制年份值,month和date的
取值参见构造函数。返回myDate的UTC时间值。
= myDate.setYear(year)
设置myDate的时间(当地时间),year的取值参见构造函数。返回myDate的
UTC时间值。
= myDate.getMonth()
返回myDate所指时间的月份值(当地时间)。0表示一月,11表示十二月。
= myDate.setMonth(month, [date])
设置myDate的月日(当地时间),month和date的取值参见构造函数。返回myDate
的UTC时间值。
= myDate.getDate()
返回myDate所指时间的日期值(当地时间)。
= myDate.setDate(date)
设置myDate的日期(当地时间),返回myDate的UTC时间值。
= myDate.getDay()
返回myDate所指时间的星期(当地时间),0表示周日,1~6表示周一到周六。
= myDate.getHours()
返回myDate所指时间的小时数(当地时间)。
= myDate.setHours(hour)
设置myDate的小时数(当地时间),返回myDate的UTC时间值。
= myDate.getMinutes()
返回myDate所指时间的分钟数(当地时间)。
= myDate.setMinutes(minute)
设置myDate的分钟数(当地时间),返回myDate的UTC时间值。
= myDate.getSeconds()
返回myDate所指时间的秒数(当地时间)。
= myDate.setSeconds(second)
设置myDate的秒数(当地时间),返回myDate的UTC时间值。
= myDate.getMilliseconds()
返回myDate所指时间的毫秒数(当地时间)。
= myDate.setMilliseconds(milliseconds)
设置myDate的毫秒数(当地时间),返回myDate的UTC时间值。
= myDate.getUTCFullYear()
= myDate.getUTCYear()
= myDate.setUTCFullYear(year, [month, date])
= myDate.setUTCYear(year)
= myDate.getUTCMonth()
= myDate.setUTCMonth(month, [date])
= myDate.getUTCDate()
= myDate.setUTCDate(date)
= myDate.getUTCDay()
= myDate.getUTCHours()
= myDate.setUTCHours(hour)
= myDate.getUTCMinutes()
= myDate.setUTCMinutes(minute)
= myDate.getUTCSeconds()
= myDate.setUTCSeconds(second)
= myDate.getUTCMilliseconds()
= myDate.setUTCMilliseconds(milliseconds)
功能与未加UTC的相应函数相同,只不过不是针对当地时间,而是针对格林
威治世界标准时间。
= myDate.getTime()
返回myDate的UTC时间值。
= myDate.getTimezoneOffset()
返回当地时间与格林威治世界标准时之间的时间差(分钟单位)。比如系统
时区设为GMT+8:00则返回-480,即比GMT提前8小时。
说明:这里多次提到的UTC时间值指的就是当前系统时间的格林威治标准世界时与
1970.1.1 0:00:00的时差(毫秒单位)。操作系统内部对时间的表示包括两项数值,即UTC
时间值与所设定的时区(按当地时间与格林威治世界标准时之差所定)。Date对象在获取
当前时间时只获取其中的UTC时间值。然后在调用针对当地时间相关的函数时测试系统时区
参数,进行时区转化后再处理。而在调用针对格林威治世界标准时间的函数(即函数名内
加上UTC的)时,不经时区转化直接处理。
在某些系统中可能会出现用getHours()等针对当地时间的函数获取的小时数与系统当
前时间差1的情况,那是由于虽然Date对象获取的系统UTC时间值没错,但在调用函数时获
取的系统时区值由于Flash5内部处理时的理解分歧,造成了时区转化的错误(不知道是不
是bug)。解决的办法是在获取当前时间后对UTC时间值减3600000。如:
d = new Date((new Date).getTime() - 3600000)
这时通过d获取当地时间就准了,当然代价是获取世界标准时就差了1小时(可谓割肉补疮,
呵呵)。
5、影片片段对象(MovieClip):
---------------------------------------
myMovieClip.play()
myMovieClip.stop()
myMovieClip.prevFrame()
myMovieClip.nextFrame()
myMovieClip.prevScene()
myMovieClip.nextScene()
myMovieClip.gotoAndPlay(frame)
myMovieClip.gotoAndStop(frame)
myMovieClip.stopDrag()
影片片段操控函数。(参见影片片段操控动作)。
myMovieClip.duplicateMovieClip(name_string, depth_num)
动态复制myMovieClip,副本取名为name_string,显示层次为depth_num,
副本与myMovieClip在同一路径下,且从第1帧开始播放,myMovieClip的状
态也被复制。显示层次的概念参见动作指令函数里的duplicateMovieClip函数。
myMovieClip.removeMovieClip()
删除myMovieClip(要求myMovieClip为动态创建的)。
myMovieClip.startDrag([lockcenter, [x1, y1, x2, y2]])
开始拖拽myMovieClip(一个时刻只能有一个影片片段被拖拽)。参数意义
参见动作指令函数里的startDrag函数。
myMovieClip.loadMovie(url, [mode])
载入url所指定的swf影片文件到myMovieClip下并替换掉myMovieClip原来的
内容。mode指定传递参数的方式(参见getURL)。之后,myMovieClip便作为
载入影片片段的_root。
myMovieClip.unloadMovie()
卸载影片片段myMovieClip(不必是动态创建的)。
myMovieClip.loadVariables(url, [mode])
从url所指定的文件读取数据到myMovieClip下。参见动作指令函数里的loadVariables
函数。
myMovieClip.getURL(url, [window, mode])
打开url所表示的链接。参见动作指令函数里的getURL函数(区别是在传递参数
时可写相对路径)。
myMovieClip.attachMovie(id_string, name_string, depth_num)
动态创建影片片段id_string(编辑时在组元库里对影片片段设置的导出标号,
即linkage>export as)的实例,实例取名为name_string,显示层次为depth_num,
放在myMovieClip下,且从第1帧开始播放。显示层次的概念参见动作指令函数
里的duplicateMovieClip函数。
myMovieClip.swapDepths(depth_num)
myMovieClip.swapDepths(mc)
切换myMovieClip的显示层次。参数为数值时表示设定myMovieClip的显示层
次为depth_num,在depth_num显示层如果原来有影片片段,则该影片片段的
显示层次为myMovieClip原来的显示层次。参数为mc时表示将myMovieClip与
mc的显示层次对调.
= myMovieClip.getBounds(mc)
获取myMovieClip在以mc的坐标系为基准的相对坐标范围(能包罗myMovieClip
的最小正矩形)。返回值为一个对象,包含xMin,xMax,yMin,yMax四个成员,
分别指定其坐标界线。
myMovieClip.globalToLocal(point)
将全局坐标point转化为以myMovieClip的坐标系为基准的相对坐标。point为
一个对象,具有成员变量x和y。
myMovieClip.localToGlobal(point)
将以myMovieClip的坐标系为基准的相对坐标point转化为全局坐标。point为
一个对象,具有成员变量x和y。
= myMovieClip.hitTest(x, y, shape_flag)
返回全局坐标(x,y)是否在myMovieClip内。当shape_flag为true时表示只
有当(x,y)与myMovieClip的可视形状接触时才返回true。当shape_flag为false
(默认)时表示只要(x,y)进入到myMovieClip以绝对坐标系为基准的坐标范
围内,就返回true。
= myMovieClip.hitTest(mc)
返回myMovieClip以绝对坐标系为基准的坐标范围是否与mc以绝对坐标系为基
准的坐标范围相交。
= myMovieClip.getBytesLoaded()
返回myMovieClip已载入的字节数。
= myMovieClip.getBytesTotal()
返回myMovieClip总共所占的字节数。如在导入swf影片时:
loadMovieNum("1.swf", 1)
loaded_percent = _level1.getBytesLoaded() / _level1.getBytesTotal()
loaded_percent就可指示1.swf载入的百分比了。
注:影片片段对象比较特殊,它不能用new自行创建,只能通过duplicateMovieClip和
attachMovie函数动态创建。因而它没有对象名,而只有实例名。在Flash5中,不论是动态
创建的还是编辑时创建的影片片段实例都可以作为影片片段对象来调用成员函数。
6、影片片段颜色属性对象(Color):
---------------------------------------
new Color(mc)
定义一个对mc作用的影片片段颜色属性对象。
= myColor.getRGB()
返回所作用影片片段的色调值(相当于编辑时对影片片段设置的色调效果)。
若未设置色调则返回0。
myColor.setRGB(color_num)
设置所作用影片片段的色调值为color_num(16进制表示为0xRRGGBB)。
= myColor.getTransform()
返回所作用影片片段的颜色变换(相当于编辑时对影片片段设置的高级效果)。
返回值为一个对象,包含成员:ra,ga,ba,aa,rb,gb,bb,ab(意义参见
myColor.setTransform函数)。
= myColor.setTransform(transform)
设置所作用影片片段的颜色变换为transform。transform包含成员:ra(红色
比率),ga(绿色比率),ba(蓝色比率),aa(透明度比率),rb(红色附
加值),gb(绿色附加值),bb(蓝色附加值),ab(透明度附加值)。比如
影片片段里原来某点的颜色为0xRRGGBB,透明度为A%,在设置了颜色变换后实
际显示的颜色为0xrrggbb,透明度为a%,则:
rr = RR * ra + rb
gg = GG * ga + gb
bb = BB * ba + bb
a = (A * aa + ab) / 0xFF
其中,若rr,gg,bb计算出来大于0xFF(小于0)则取0xFF(0),a算出来大于
100(小于0)则取100(0)。
7、声音对象(Sound):
---------------------------------------
new Sound([mc])
定义一个控制mc下声音(默认为影片所有声音)的声音对象。
mySound.attachSound(id_string)
连接到声音id_string(编辑时在组元库里对声音设置的导出标号,即linkage>export as)。
连接好后的该声音从属于mySound在定义时指定的影片片段,可由mySound.start
函数来控制播放。
mySound.start([begin_num, loop_num])
开始播放最近一次连接的声音(通过attachSound函数)。begin_num指定
播放的起始位置(秒为单位,默认为开头即0,小于0则按0计),loop_num
指定循环次数(默认为1,小于1则按1计),每次循环都从指定的起始位置
开始。该动作不会影响到当前其他声音的播放情况。
mySound.stop([id_string])
停止mySound所控制的声音中连接标识为id_string的所有声音(默认为mySound
控制的所有声音)。比如mySound定义为控制_root.mc下的声音,而_root.mc
下当前有3个声音正在播放(不论是用mySound.start开始的还是在编辑时就
放置好的),其中1个来自连接标识符为"id1"的声音,另2个都来自连接标识
符为"id2"的声音,则mySound.stop("id2")将停止其中来自连接标识符为"id2"
的声音的那2个。
= mySound.getVolume()
返回mySound的当前音量值(0~100)。0表示无声音,100表示标准音量(初
始音量值为100)。
mySound.setVolume(num)
设置mySound的当前音量值为num(0~100)。此设定将影响到mySound所控制
的所有声音。
= mySound.getPan()
返回mySound的当前声道偏移量(-100~100)。-100表示纯左声道,100表示
纯右声道(初始值为0)。
mySound.setPan(num)
设置mySound的当前声道偏移量(-100~100)。此设定将影响到mySound所控
制的所有声音。
= mySound.getTransform()
返回mySound的当前声音变换。返回值为一个对象,包含成员:ll,lr,rl,rr
(意义参见mySound.setTransform函数)。初始值为ll:100,lr:0,rl:0,rr:100。
mySound.setTransform(transform)
设置mySound的当前声音变换为transform。此设定将影响到mySound所控
制的所有声音。tansform包含成员:ll(左声道声音在左声道的输出比率),
lr(左声道声音在右声道的输出比率),rl(右声道声音在左声道的输出比率),
rr(左声道声音在右声道的输出比率)。取值一般在0~100之间,100表示标
准音量,小于0则取绝对值,大于100则表示超音量输出,会导致高端失真)。
比如要以单声道输出则可设为:ll:50,lr:50,rl:50,rr:50,如果要将所
有声音在一左声道输出则可设为:ll:100,lr:0,rl:100,rr:0。
8、XML对象:
---------------------------------------
appendChild
attributes
childNodes
cloneNode
createElement
createTextNode
docTypeDecl
firstChild
hasChildNodes
insertBegore
lastChild
load
loaded
new XML
nextSibling
nodeName
nodeType
nodeValue
onLoad
parentNode
par***ML
previousSibling
removeNode
send
sendAndLoad
status
toString
xmlDecl
9、XMLSocket对象:
---------------------------------------
close
connect
new XMLSocket
onClose
onConnect
onXML |