- 取负 -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
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
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
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
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 <=> _1._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 用于在一个语句内分隔两个表达式
. 点运算符 ber 用于连接对象(影片片段)和其成员(属性)
typeof 获取类型 typeof(expression) 返回表达式的值的类型(字符串表示)
未定义 "undefined"
空值 "null"
数值 "number"
字符串 "string"
对象 "object"
函数 "function"
影片片段 "movieclip"
void 未定义值 void(expression) 返回未定义值
语法关键字及语句
1、指令语句:
break 跳出最近的循环体(do...while,,,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),直到所有
字符串函数的length属性成员都
取过一遍。
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(exp
ression)
判断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(_1)返回"_1"。
= eval(target)
返回目标路径字符串target所指代的变量、对象或影片片段实例。如上例
中eval("_1")返回影片片段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所指定的sw
f影片文件到影片片段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",
_1)(mc1为1.swf主场景下已有的一个影片片段),就可以在1.swf中
用unloadMovie(_1)或在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所
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论