发信人: ken520()
整理人: morefeetin(1999-12-08 19:24:56), 站内信件
|
Flash 4里新增ActionScrpit解释
Flash 4正在以不可阻挡之势向我们杀将而来。它最吸引人也是最强大的功能 莫过于新增的ActionScript,之所以得其名,是因为脚本语言基本的内容它几乎 都攘括了:变量(variable),条件语句(if...else),逻辑循环(do...whil e)。而且还有很多复杂的数据结构:数组(array),堆栈(Stack),队列(q ueue)等。甚至,还可以在Flash 4里做递归运算!本文主要就ActionScript的结 构和基本语法作一介绍。
---------------------------------------------------------------------- ----------
ActionScript 里的数据类型: 这个按钮表明了表框(field)里的数据类 型为字符串(String Litearl)。由英文字母及数字组成。
这个按钮表明了表框里含有语句(Expression),一条语句可以由以下几部分组 成:数字,变量,操作符(Operator),函数(Function)和字符串(必须放在 双引号里,如,"jerry")。
这个按钮表明了表框里含有数字。包括数字1-9及负数。
---------------------------------------------------------------------- ----------
基本的Action
操作符(Operator) 用法
() 用来设定运算的优先级,这和四则运算是一样的。
+ 加法运算。
- 加法运算。
* 乘法运算。
/ 除法运算。
= 数值相等(返回布尔值,Boolean,1或0,1为真,0为假)。
<> 数值不等(返回布尔值)。
< 数值小于(返回布尔值)。
> 数值大于(返回布尔值)。
<= 数值小等于(返回布尔值)。
>= 数值大等于(返回布尔值)。
"" 用于包含字符串。
& 连接字符串。
eq 字符串相等(返回布尔值)。
ne 字符串不等(返回布尔值)。
lt 字符串短于(返回布尔值)。
gt 字符串长于(返回布尔值)。
le 字符串短于或等于(返回布尔值)。
ge 字符串长于或等于(返回布尔值)。
not 逻辑非(返回布尔值)。
and 逻辑与(返回布尔值)。
or 逻辑或(返回布尔值)。
注:以上这些如果您有学过一种编程语言的话,是很好理解的。完全一样:)
---------------------------------------------------------------------- ----------
函数(Function)
为了便于叙述,我们假定FOO,INDEX,COUNT为整数变量;BAR为字符变量。
函数(Function) 用法
Eval 用来获得一条语句的值
True 布尔真 (1)
False 布尔假 (0)
Newline 插入一行 (等于回车)
GetTimer 返回Swf已播放了多少时间(毫秒级)
Int(FOO) 转化FOO为整数(即去掉小数点以后部分)
Random(FOO) 从0到FOO-1之间随机取一个数字返回
Substring(BAR, INDEX, COUNT) 返回从INDEX开始,COUNT为长度的在BAR里的一 个子串。(INDEX从1开始)
Length(BAR) 返回BAR的长度整数值
Chr(FOO) 返回和FOO对应 ASCII 码值的字符串
Ord(BAR) 返回BAR中一个字符的 ASCII 值
GetProperty(target, property) 返回当前Target目标的属性值
---------------------------------------------------------------------- ----------
属性(Property):以下为Movie Clip的各种属性,如果你能明确指定Movi e Clip位置的话,就可以直接引用这些属性值作为变量;否则你就必须使用GetP roperty函数来获取。 属性(Property) 属性值
_x MC中点的横坐标X的值(从左边算起)
_y MC中点纵坐标Y的值(从上往下算)
_width MC的宽度
_height MC的长度
_rotation 用角度值表示MC的旋转度
_target MC的target,即MC的完整路径
_name MC的Instance name
_url 包含MC的SWF的完整的URL
_xscale 用百分比表示MC的横轴(X)缩放值
_yscale 用百分比表示MC的横轴(X)缩放值
_currentframe 返回MC的当前fram值
_totalframes 返回MC的frame长度数值
_framesloaded 在一个MC里已装载的frame长度值
_alpha MC的alpha值
_visible MC可见或不可见(值为真或假)
_droptarget 如果一个MC是可被拖动的,并且当其被拖动至另一个MC的范围里时 ,该属性值就设定为另一个MC的Instance name
OK,说了这么多,让我们来看看以下几个例子吧:
简单例子
目的 举例
连接两个变量 foo & bar
两个变量的数学运算 foo + bar
比较两个数值变量 foo < bar
比较两个字符变量 foo eq bar
较复杂的例子
目的 举例
初始化一个有10个变量且值均为0的数组 Set Variable: "temp" = 1
Loop While (temp<=10)
Set Variable: "blah"&temp = 0
Set Variable: "temp" = temp+1
End Loop
使一个MC随机跳到一个frame Random (GetProperty ("/foo", _totalframes))+ 1
Tell Target ("/foo")
Go to and Stop (temp)
End Tell Target
---------------------------------------------------------------------- ----------
这里有一个上述内容的综合运用,相当不错!
本文摘自Flashage [关闭本窗口]
-- 告诉你一个秘密
我---是---超---人---
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.101.177.130]
|
|