一、內置指令(ACTIONS)
內置指令实例源代码合集下载!下面每实例都有源代码下载,怕麻烦的话可以下这个合集,嘻嘻!
本帖隐藏的内容需要回复才可以浏览
01.循环控制
BREAK
break 从循环/区块中跳出
快捷键:ESC+b+r
功能说明: 用来中断循环的进行,以进行循环外的下一行程序,通常与循环(for,for...in,do...while或while)一起搭配使用,尤其像使用嵌套循环(nested loops)的时候,可减少不必要的循环运算。
break是终止并跳出while或for的循环运算,继续执行循环外的下一行程序;continue可终止while 或for循环中continue后面所有表达式(statements)的执行,并继续执行while 或for的下一个循环运算。
本帖隐藏的内容需要回复才可以浏览
CONTINUE
continue 从头开始继续执行循环/区块
快捷键:ESC+c+o
功能说明:用来中断目前循环的进行,并继续执行循环中的下一个循环,通常与循环(for,for...in,do...while或while)一起搭配使用,尤其像使用嵌套循环(nested loops)的时候,可减少不必要的循环运算。
本帖隐藏的内容需要回复才可以浏览
02.函数控制
CALL
call 调用帧的程序
快捷键:ESC+c+a
功能说明:调用某特定帧并执行的frame script,其作用类似调用子程序。
语法: call (frame)
frame: 被调用的帧,可以是帧的名称或帧的编号。
注意:1) 当script内执行到call指令的时候,程序会从原本的script跳至指定的帧,并执行该帧的script,执行完毕后在跳回原本的script继续执行。
2) 程序跳跃的时候,时间轴的播放头(playhead)并不会真的跳到call指令所指定的frame。
3) 被调用的frame script 一旦执行完毕,script里的局部变量local variables 就不复存在。
4) flash 5 里已经不建议使用call指令,并且建议使用function指令的功能代替原有的call指令。
本帖隐藏的内容需要回复才可以浏览
FUNCTION
function 定义函数
快捷键:ESC+f+n
功能说明:制定新的函数,把使用频繁的表达式定义成一个新的函数,当成一个公式或命令,以便反复应用。
语法: function funcitonname([argument0,argument1...argumentN]){
statement(s) }
function([argument0,argument1...argumentN]){
statement(s) }
functionname: 新函数的名称
argument: 新函数的自变量
statement: 新函数的内容
注意: 1) function的自变量 (argument)可以不填,或是使用嵌套结构,也就是说定义的函数中不能再声明其他的函数。
2) function里的表达式(statements)不能使用嵌套结构,也就是说定义的函数中不能再声明其他的函数。
3) 若要返回function值,必须使用return返回值。
4) 表达式(statements)里的变量名称或使用的对象可设定成该函数的自变量。
本帖隐藏的内容需要回复才可以浏览
RETURN
return 返回数值
快捷键:ESC+r+t
功能说明:从function中将值返回给调用单元,或是从函数与调用单元的回复处理,当执行return的时候,就会把return之后的表达式所得的结果,返回给调用单元。
语法: return[expression]
return;
expression: 表达式
/*多行批注
//单行批注
本帖隐藏的内容需要回复才可以浏览
03.批注
本帖隐藏的内容需要回复才可以浏览
04.变量设定与删除
DELETE
delete 删除变量/对象
快捷键:ESC+d+a
功能说明:用来删除指定的“变量”或“对象”。变量的定义可以是对象的属性(property),或是一般的变量,或是数组的值。
delete (reference);
reference: 被删除的变量或对象名称
注意: 1) 如果成功地删除reference参数里指定的变量或对象,则返回一个true的值,否则就会返回一个false的值。
2) 如果返回一个false的值,很可能是指定的对象并不存在,或是无法删除这个对象。
3) 无法删除的对象很可能是flash自定义的对象(predefined objects),属性能(properties),或是使用var声明的局部变量。
4) 当delete 运算符把无用的变量或对象删除后,便可以有效率释放内存,达到降低程序对系统的负载。
本帖隐藏的内容需要回复才可以浏览
SET
set variable 设定变量
快捷键:ESC+s+v
功能说明:用来指定变量的值,把一个值指向特定的变量名称。
语法: variable=expression;
set (variable,expression);
variable: 变量名称
expression: 表达式,也就是指定给变量的值
本帖隐藏的内容需要回复才可以浏览
VAR
var 声明变量
快捷键:ESC+v+a
功能说明:执行变量声明用。
语法: var variablename1[=value][...variablenameN][=valueN];
variablename: 变量名称
value: 变量的初始值
注意:1)声明变量时var可以省略。如var x=x+10; 可直接写成 x=x+10;
2) 变量可分全局变量(global variable)和局部变量(local variable).
3) 如果是在函数(function)里设定局部变量,必须使用var,否则视为全局变量。而函数里声明的局部变量只在函数里有效。
4)使用call指令调用帧的frame script,script里的变量会被视为局部变量。
5) 无论有没有使用var声明,则其余的变量设定都将视为全局变量
本帖隐藏的内容需要回复才可以浏览
05.重复程序处理
DO...WHILE
do...while 满足条件的重复程序处理
快捷键:ESC+d+o
功能说明:先处理一次{statement}里的程序,并判断是否满足条件,若合乎条件则继续执行,若不合乎条件,则跳出do...while循环,并执行循环外的下一行程序。
语法: do{
statement;
}while(condition);
statement: 表达式,如果condition的条件为真,则处理该表达式
condition: 条件式,若合乎条件则继续执行
比较: do...while, while都是满足条件的重复{}里的程序,两者的差异如下:
1) do...while就算是在没有满足条件的情况下,最少会处理一次{}里的程序,也就是说先执行statement后判断condition
2) while若没有满足 condition的条件,则不执行{}里的程序,也就是说先判断condition后执行statement
本帖隐藏的内容需要回复才可以浏览
FOR
for 指定次数的重复程序处理
快捷键:ESC+f+r
功能说明:先处理一次{statement}里的程序,并判断是否满足条件,若合乎条件则继续执行,若不合乎条件,则跳出do...while循环,并执行循环外的下一行程序。
语法: for(init;condition;next){
statement; }
init: 循环控制的变量初始值
condition: 条件式,测试是否合乎条件,其值为true 或false
next: 循环控制的变量更新值,每执行一次循环更新一次
比较: for,for...in都是指定次数的重复{}程序处理,两者的差异如下:
1) for循环如果没有在一开始的时候就满足条件,就不会执行{}里的程序。
2) for...in仅对指定对象所有的属性个数执行重复{}程序处理。
本帖隐藏的内容需要回复才可以浏览
FOR...IN
for...in 对象属性的重复处理
快捷键:ESC+f+i
功能说明:根据对象的所有属性或数组里的元素作重复程序处理。
语法: for(variable iterant in object){
statement;}
variable: 变量名称
object: 被指定的对象名称
statement: 表达式
本帖隐藏的内容需要回复才可以浏览
WHILE
while 满足条件的重复程序处理
快捷键:ESC+w+h
功能说明:每一次的循环处理,都会先判断是否合乎codition的条件,若合乎条件则执行,若不合乎条件,则跳出while循环,并执行循环外的下一行程序。
语法:while(condition){
statement(s); }
condition: 条件式,若合乎条件则继续执行
statement: 表达式,如果condition的条件为真,则处理该表达式
本帖隐藏的内容需要回复才可以浏览
06.电影短片
DUPLICATEMOVIECLIP
duplicateMovieClip 复制电影短片
快捷键:ESC+d+m
功能说明:主要功能为复制影片对象,复制场景上指定target的instance name,并给复制出来的movieclip一个新的instance name及depth值
。
语法: duplicatemovieclip(target,newinstancename,depth);
target: 原始影片对象的目标路径
newinstancename: 新影片对象的名称
depth: 指定新影片对象在stage的层级
注意: 1)在复制之前,舞台上必须要有一个原始的movieclip,原始的movieclip永远在stage的第0层。
2)复制后的第一个新的movieclip必须被放在不同的层级,否则原有层级的movieclip就会被置换成新的movieclip。
3)movieclip对象上的变量值无法使用duplicatemovieclip复制到新的对象上。
4)电影播放的时候,一旦删除原始的movieclip,则所有已复制的movieclip就会同时全部从stage上删除。
本帖隐藏的内容需要回复才可以浏览
LOADMOVIE
loadmovie 加载影片到指定的目标
快捷键:ESC+l+m
功能说明:加载外部的swf影片到目前正在播放的swf影片中。
语法:loadmovie(url,target,method);
url: 外部swf影片的路径
target: 目标对象路径
method: 变量数据传送的方式(可以空白)
注意: 1) 使用target的方式加载电影文件之前,舞台上一定要事先放置target所标示的对象(movieclip)。
2) 如果target movie clip被旋转,缩放,变形,则加载后的电影文件也会跟着变动。
3) 加载的target路径如果相同,新加载的动画文件会取代之前加载的动画文件。
4) loadmovie 的好处在于而不用打开另一个flash播放器或跳至另一个新的网页,也就是可以同时使用一个player播放或切换电影文件。
本帖隐藏的内容需要回复才可以浏览
LOADMOVIENUM
loadMovieNum 加载影片到指定的层级
快捷键:ESC+l+n
功能说明:加载外部的swf影片到目前正在播放的swf影片中。
语法:loadmovienum(url,level,method);
url: 外部swf影片的路径
level: 存放电影文件的层级
method: 变量数据传送的方式
注意: 1) 加载的level层级如果相同,新加载的动画文件会取代之前加载的动画文件。
2) loadmovie 的好处在于而不用打开另一个flash 播放吕或跳至另一个新的网页,也就是可以同时使用一个player 播放或切换电影文件。
本帖隐藏的内容需要回复才可以浏览
REMOVEMOVIECLIP
removeMovieClip 删除电影短片
快捷键:ESC+r+m
功能说明:主要功能为删除影片对象,把之前使用deplicatemovieclip或attachmovie复制出的instance,从场景上删除。
语法:removemovieclip(target);
target: movie clip instance 的目标路径
注意: 删除的movie clip必须是duplicatemovieclip或attachmovie复制出的instance,一般的movie clip并无法使用removemovieclip从场景上删除。
本帖隐藏的内容需要回复才可以浏览
SETPROPERTY
setProperty 设定属性
快捷键:ESC+s+p
功能说明:改变instance目前的属性,电影短片(movieclip)在场景上称之为instance,而instance的属性是可以随时修改的,如alpha 透明度,X,Y坐标值,instance的宽度,角度等。
语法:setproperty(target,property,expression);
target: 电影短片对象的目标路径
property: 对象的属性
expression: 对象属性的值
本帖隐藏的内容需要回复才可以浏览
STARTDRAG
startDrag拖曳电影短片
快捷键:ESC+d+r
功能说明:用来拖曳的instance会跟着鼠标光标的位置移动。
语法:startdrag(target);
startdrag(target,[lock]);
startdrag(target,[lock],[left,top,right,down]);
target: 影片对象的目标路径
lock: 以布尔值(true,false)判断对象是否锁定鼠标光标中心点,当布尔值为true的时候,影片对象的中心点锁定鼠标光标的中心点。
left,top,right,down: 对象在场景上可以拖曳的上下左右边界,当lock为true的时候,才能设定边界的自变量。
本帖隐藏的内容需要回复才可以浏览
STOPDRAG
stopdrag 停止拖曳电影短片
快捷键:ESC+s+d
功能说明:用来解除鼠标拖曳对象的动作。
语法:stopdrag();
本帖隐藏的内容需要回复才可以浏览
TELLTARGET
tellTarget 对像目标与层级路径
快捷键:ESC+t+t
功能说明:使用telltarget指出movieclip的时间轴的对应路径,再以表达式(statement)下达控制时间轴的命令。
语法:telltarget(target);{
statement;}
target: movieclip或时间轴的对应路径
statement: 控制时间轴上的程序
注意: 1)telltarget的target自变量可以是对象的路径,如"_root.title.togo"或"/title/logo",表示控制指定的instance里的时间轴;或者是时间轴层级的路径,如"../../../"或"_parent._parent._parent",表示控制指定层级的时间轴。
2)telltarget和with指令非常相似,不同的地方在于telltarget必须使用targetpath指出movieclip的路径,再由过程控制movieclip的时间轴,而且只能控制movieclip。
3)with可以控制objects或movie clips,flash 5以后已经不建议使用telltarget,并建议使用with取代telltarget。
本帖隐藏的内容需要回复才可以浏览
UNLOADMOVIE
unloadmovie 删除载入的swf影片
快捷键:ESC+u+m
功能说明:使用swf影片加载时指定的目标路径,删除之前加载的swf影片。
语法:unloadmovie(target);
target: swf影片加载时指定的目标路径
本帖隐藏的内容需要回复才可以浏览
UNLOADMOVIENUM
unloadMovieNum 删除加载的swf影片
快捷键:ESC+u+n
功能说明:使用层级编号,删除之前加载的swf影片。
语法:unloadmovie(level);
level: 存放电影文件的层级
本帖隐藏的内容需要回复才可以浏览
07.条件分支
ELSE
else 条件分支(否则)
快捷键:ESC+e+l
功能说明:if判断式的条件分支之后,需要执行二选一的表达式(statement),可和else并用,若不合乎if判断式的条件,就返回false值,程序就会执行else后程序。
语法:else(statement(s));
statement: 表达式,如果if的条件为假,则处理该表达式
本帖隐藏的内容需要回复才可以浏览
ELSE IF
else if 多重条件判断(否则如果)
快捷键:ESC+e+l
功能说明:if判断式有多种条件分支,可和else if 并用,else if等于是另一个条件分支的判断式,若不合乎if判断式的条件,就返回false值,程序就会执行else if的程序。
语法:else if(expression){
statement(s);}
condition: 条件式,若合乎条件则继续执行
statement: 表达式,如果condition的条件为真,则处理该表达式
本帖隐藏的内容需要回复才可以浏览
IF
if 条件判断(如果)
快捷键:ESC+i+f
功能说明:遇到if判断式的时候,若合乎if判断式的条件,则返回true的值,程序就会执行if判断式里的程序,否则就返回false值,并跳过if判断式,继续执行后续的程序。
语法:if(condition){statement;}
condition: if判断式的条件,若合乎条件则执行if条件里的程序
statement: 表达式,满足条件时所执行的程序
本帖隐藏的内容需要回复才可以浏览
未完
[
本帖最后由 小飞侠 于 2008-4-18 12:16 编辑 ]