Flash 5 ActionScript交互动画简明教程(中)
对象是面向对象编程语言的重要语言元素。对象一般都封装了一些属性和方法。通过读取或设置对象的属性,调用对象的方法,可以减少
编程工作量,提高编程效率,轻松实现我们想要完成的任务。Flash的预定义对象如下表所列。
对象 说明
---------- -------------------------
Object Object对象
Number 数值对象
String 字符串对象
Boolean 逻辑对象
Math 数学对象
Array 数组对象
Date 日期对象
Color 颜色对象
Key 按键对象
Selection 选择对象
Sound 声音对象
MovieClip 电影剪辑对象
XML 可扩展标记语言对象
XMLSocket XML端口对象
--------------------------------------
下面简要介绍其中一些对象的属性和方法。
(1) Math(数学对象)
数学对象的作用是提供一些数学常数(如圆周率、2的平方根等等)和一些常用的数学函数,在编写脚本时可以随时调用。数学对象的属性
和方法如下表所列。
属性和方法 说明
------------ -------------------------------------------------
E 自然对数的底数,其值约为2.71828
LN2 以e为底2的自然对数,其值约为0.69314718059945286
LN10 以10为底的自然对数,其值约为2.30258509299404590
LOG10E 以10为底e的对数,其值约为0.43429448190325181667
LOG2E 以2为底e的对数,值约为1.442695040888963387
PI 圆周率,其值约为3.14159265358979
SQRT1_2 1/2的平方根,其值约为0.707106781186
SQRT2 2的平方根,其值约为1.414213562373.
Sin 求正弦值
asin 求反正弦值
cos 求余弦值
acos 求反余弦
tan 求正切值
atan 求反正切
atan2 求Y/X弧度值的反正切值
abs 求绝对值
random 产生0-1之间的随机数
sqrt 求根号2的值
log 求自然对数
exp 求指数
ceil 求数的上限整数
floor 求下限整数
round 求四舍五入
max 求最大值
min 求最小值
pow 求x的y次方
数学对象的属性都是一些常用的数学常数,它的方法都是一些常用的数学函数,包括三角函数、常用对数、自然对数、随机函数等等。
(2) Array
我们可以把相同性质的一组数据存入一个数组对象中,便于利用数组对象的各种属性和方法,以及循环控制对这组数据进行处理。
使用数组对象的属性和方法可以访问和处理数组中的数据,包括增加、删除数组元素,对数组元素进行排序等操作。数组对象的属性和方
法如下表所列。
方法 说明
----------- -------------------------------------------
length 返回数组的长度
concat 把指定参数连接起来组成一个新数组
join 把数组中所有的元素连接起来生成一个字符串
pop 删除并返回数组的最后一个元素
push 把一个或更多元素添加到数组尾部
reverse 倒置数组中的元素
shift 删除数组的第一个元素,并返回该元素的值
slice 取指定数组的部分元素组成一个新的数组
sort 对数组元素排序
splice 增加或删除数组中的元素
toString 返回由所有数组元素的值组成的字符串
unshift 在数组前面插入一个或多个元素
(3) Date
日期对象的作用是对访问系统日期和时间,并可对日期对象的日期和时间执行设置、转换等各种操作。日期对象共有37个方法,可以对日
期和时间进行各种操作,如下表所列。
方法 说明
------------------ --------------------------------------------------------------
getDate 根据本地时间返回指定日期对象本月的第几天(1-31)
getDay 根据本地时间返回指定日期对象的周日(0-星期日,1-星期一…)
getFullYear 根据本地时间返回指定日期对象的四位数年份
getHours 根据本地时间返回指定日期对象的小时数
getMilliseconds 根据本地时间返回指定日期对象的毫秒数
getMinutes 根据本地时间返回指定日期对象的分钟数
getMonth 根据本地时间返回指定日期对象的月份
getSeconds 根据本地时间返回指定日期对象的秒数
getTime 返回指定日期对象自1970年1月1日午夜以来的毫秒数(世界时)
getTimezoneOffset 返回计算机本地时间与世界时之间的时差(以分为单位)
getUTCDate 根据世界时返回指定日期对象本月的第几天(1-31)
getUTCDay 根据世界时返回指定日期对象的周日(0-星期日,1-星期一…)
getUTCFullYear 根据世界时返回指定日期对象的四位数年份
getUTCHours 根据世界时返回指定日期对象的小时数
getUTCMilliseconds 根据世界时返回指定日期对象的毫秒数
getUTCMinutes 根据世界时返回指定日期对象的分钟数
getUTCMonth 根据世界时返回指定日期对象的月份
getUTCSeconds 根据世界时返回指定日期对象的秒数
getYear 根据本地时间返回指定日期对象的年份
setDate 根据本地时间设置指定日期对象本月的第几天
setFullYear 根据本地时间设置日期对象的四位数年份
setHours 根据本地时间设置日期对象的小时数
setMilliseconds 根据本地时间设置日期对象的毫秒数
setMinutes 根据本地时间设置日期对象的分钟数
setMonth 根据本地时间设置日期对象的月份
setSeconds 根据本地时间设置日期对象的秒数
setTime 用毫秒数设置指定日期对象的日期
setUTCDate 根据世界时设置指定日期对象的日期
setUTCFullYear 根据世界时设置指定日期对象的四位数年份
setUTCHours 根据世界时设置指定日期对象的小时数
setUTCMilliseconds 根据世界时设置指定日期对象的毫秒数
setUTCMinutes 根据世界时设置指定日期对象的分钟数
setUTCMonth 根据世界时设置指定日期对象代表的月份
setUTCSeconds 根据世界时设置指定日期对象的秒数
setYear 根据本地时间设置指定日期对象的年份
toString 返回代表指定日期对象中存储的日期和时间的字符串值
Date.UTC 返回1970年1月1日午夜与指定时间之间的毫秒数(世界时)
(4) Color
通过颜色对象,可以在动作脚本中操纵电影剪辑的颜色,包括读取、设置和变换颜色等操作,使电影剪辑实例的颜色丰富多彩。颜色对象
有4个方法,调用这些方法读取和设置颜色,如下表所列。
方法 说明
-------------- ---------------------------------------------------
setRGB 设置颜色对象的RGB颜色
getRGB 返回最近一次调用setRGB方法设置的RGB值
setTransform 设置颜色对象的颜色变换
getTransform 返回setTransform方法最后一次设置的变换信息
(5) Key
使用按键对象可以捕获用户的按键。按键对象的属性和方法如下表所列。
属性和方法 说明
------------- ------------------------------------
BACKSPACE 返回退格键键码(9)
CAPSLOCK 返回Caps Lock键键码(20)
CONTROL 返回Ctrl键键码(17)
DELETEKEY 返回Delete键键码(46)
DOWN 返回下箭头键键码(40)
END 返回End键键码(35)
ENTER 返回Enter键键码(13)
ESCAPE 返回Esc键键码(27)
HOME 返回Home键键码(36)
INSERT 返回Insert键键码(45)
LEFT 返回Left键键码(37)
PGDN 返回PageDown键键码(34)
PGUP 返回PageUp键键码(33)
RIGHT 返回右箭头键键码(39)
SHIFT 返回Shift键键码(16)
SPACE 返回空格键键码(32)
TAB 返回Tab键键码(9)
UP 返回上箭头键键码(38)
getAscii 返回最近一次按键的ASCII码
getCode 返回最近一次按键的虚拟键码
isDown 判断键码所对应的键是否已按下
isToggled 判断CapsLock或NumLock是否被激活
(6) Sound
有了声音对象,我们可以在动作脚本中实现动态音效控制,如声音的播放控制、音量控制、左右声道平衡控制等等。掌握声音对象
setTransform方法的高级应用,你还可以随心所欲地添加各种有趣的音效。
使用声音对象的方法可以实现对声音的各种控制,包括声音文件的连接、播放控制、音量控制、左右声道平衡控制等等,如下表所列。
方法 说明
---------------- ------------------------------------
attachSound 把指定的声音连接到指定的声音实例
start 开始播放声音
stop 停止播放声音
setVolume 设置指定声音对象的音量
getVolume 返回声音对象的音量大小(0-100)
setPan 设置声音对象的左右声道平衡
getPan 返回声音均衡值(从-100到100)
setTransform 设置声音对象的转换信息
getTransform 返回声音对象的声音转换信息
(7) MovieClip
通过电影剪辑对象,我们可以在动作脚本中控制动画中的电影剪辑实例,指令某个电影剪辑播放或停止播放,向时间轴中添加电影剪辑,
用动作复制电影剪辑,测试剪辑之间的相互碰撞等等。总之,有了电影剪辑对象就可以设计出复杂多变的,交互性更强的动画作品。
电影剪辑对象拥有22种方法,有些方法的功能与标准动作相同,但也有一些方法是它特有的,如下表所列。
方法 说明
-------------------- -----------------------------------------------------
attchMovie 添加电影剪辑到动画中
duplicateMovieClip 复制电影剪辑实例
getBounds 返回指定电影剪辑在目标坐标系中的边界坐标对象
getBytesLoaded 返回指定电影剪辑对象数据流已下载的字节数
getBytesTotal 返回指定电影剪辑的总字节数
getURL 指定要下载文档的URL
globalToLocal 把point对象从动画全局坐标转换为剪辑局部坐标
gotoAndPlay 把播放头移动到指定的帧并开始播放
gotoAndStop 把播放头移动到指定帧并停止播放
hitTest 检测电影剪辑之间或剪辑与点之间的碰撞
loadMovie 在不关闭Flash播放器的情况下载入指定的动画并播放
loadVariable 从外部文件读取数据设置动画中的变量的值
localToGlobal 把剪辑局部坐标转换为动画全局坐标
nextFrame 把电影剪辑的播放头移至当前帧的下一帧
play 播放指定的电影剪辑
PrevFrame 把剪辑的播放头移至当前帧的前一帧并停止播放
removeMovie 删除电影剪辑实例
startDrag 使电影剪辑在播放时可以拖动
stop 停止当前正在播放的电影剪辑的播放
stopDrag 停止startDrag方法设置的拖动剪辑操作
swapDepths 交换动画中电影剪辑的堆叠顺序
unloadMovie 卸载loadMovie或attachMovie方法加载的动画