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):传送所有按键事件至onClipEvent
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 ();
}
续表
语法:onClipEvent (movieEvent) {}
范例:onClipEvent (load) { 事件处理函数:触发去执行那些指派
gotoAndStop (3) 给一个影片剪辑的动作命令
}
MovieEvent 可分为以下几类。
Load:载入动画影片
Unload:删除动画影片
onClipEvent EnterFrame:进入每一帧(都会启动action)
MouseMove:每次移动鼠标时启动此动作
MouseDown:按住鼠标左键
MouseUp:放开鼠标左键
KeyDown:按住键盘的一个按键,使用Key.getCode 去读取最后被按下的按键
KeyUp:放开键盘的一个按键,使用Key.getCode 去读取最后被放开的按键
Data :在 loadVariables() 或 loadMovie() 动作中接收到数据时启动该动作。当与
loadVariables() 动作一起指定时,data 事件只在加载最后一个变量时发生一次
当影片播放时,更改影片剪辑的属
语法: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);
}
判断条件/循环语法: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 [expression]; 指定函数返回一个值,如单独使用
return 范例:function sum (a,b,c) { return 或函数循环执行时,没有这个
return a + b + c;
命令,则函数返回null
}
8.各种动作
在测试模式下,计算表达式并在
trace 语法:trace (expression); 【输出】面板中显示结果,适用于
侦错
在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
% A/B 的余数
i = a % b // i = 0
2.比较运算符
= 等于
范例:a = 50; b = 30; c = 20
< 小于
b < a
> 大于
a > c
<= 小于等于
if (c <= b)
>= 大于等于
if (a >= c)
!= 不等于
if (a != b)
语法:escape(expression)
范例:k = escape("Happy New Year"); 将参数转换为字符串,并以 URL 编
escape trace(k) 码格式对其进行编码
结果:Happy%20New%20Year
语法:eval(expression)
范例:on (release) {
x = “3”; 按照名称访问变量、属性、对象或影
eval
trace (eval (“x”); 片剪辑,返回该变量或属性的值
}
结果: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 (expression) 转换指定的参数到布尔值类型
Number 语法:Number (expression) 转换指定的参数到数字类型
转换指定的参数到字符串类型
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 (expression) 参数:expression 要被转换成字符串
的数字、布尔式或表达式
2.数学函数
判断数据内容是否为数值,如果不是
isNaN 语法:isNaN (expression)
数值则返回true
将字符串转换为浮点数,直到此函数
parseFloat 语法:parseFloat(string)
遇到不是初始数字一部分的字符
将字符串转换成整数,并进一步设置
parseInt 语法:parseInt(expression, [radix])
数值的进制
设置影片剪辑的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(); 将日期转换成可读的字符串值