1.Actions
Actions(动作)是指示一个动画在播放时做某些事情的一些语句。例如,gotoAndStop把播放头放到指定的帧或标签。
2.Arguments
Arguments,称为参数,通过它可以把值传递给函数。
3.Classes
Classes(类)是可以创建的数据类型,用以定义的对象类型。要定义对象的类,需要创建一个构造函数。
4.Constructors
Constructors(常数)是不能改变的元素。例如,常数Tab总是具有相同的意义。常数在比较值时很有用。
5.Constructors
Constructors(结构体)是用来定义类的属性和方法的函数.
6.Datatypes
Datatypes(数据类型)是一组值和对这些值进行运算的操作符.字符串,数值,逻辑值(true和false),对象和电影剪辑是ActionScript的数据类型.
7.Events
Events(事件)是动画正在播放时发生的动作.例如,当装载电影剪辑,播放头到达某帧,用户单击按钮或移动到电影剪辑,或用户用键盘输入时,可以发生不同的事件.
8.Expressions
Expressions(表达式)是语句中能够产生一个值的任一部分.例如,2+2就是一个表达式.
9.Functions
Functions(函数)是可以传送参数并能返回值的可重用代码块.例如,geProperty函数传送属性名,然后返回这些属性的值;getVersion函数返回当前正在播放动画的Flash播放器的版本.
10.Handlers
Handlers(事件处理程序)是一利特殊的动作,它"处理"或管理事件(如mouseDowna和load).例如,on(onMouseEvent)和onClipEvent就是ActionScript的事件处理程序.
11.Identifiers
Identifiers(标识符)是用来标明变量,属性,对象,函数或方法的名字.第一个字符必须是字母,下划线(_)或美元特号($).每个后续字符必须是字母,数字,下划线(_)或美元特号($).例如,firstName是一个变量名.
12.Instances
Instances(实例)是属于某个类的对象.一个类的每个实例包含该类的所有属性和方法.所有电影剪辑都是Movieclip类的实例,均拥有该类的属性(如_alpha和_visible)和方法(如gotAndPlay和getURL).
13.Instancenames
Instancenames(实例名)是在脚步本中指向电影剪辑实例的唯一名字.例如,在符号库中的一个主符号可以称为,counter,在动画中该符号的两个实例可以取实例名scorePlayer1和scorePlayer2.
14.Keywords
Keywords(关键字)是具有特定的保留字。例如,var是一个用来声明本地变量的关键字.
15.Methods
Methods(方法)是分配给一个对象的函数.一个函数被分配后,可作为对象的方法被调用.
16.Objects
Objects(对象)是属性的集合.每个对象都有它的名字和值.对象允许你访问某种类型的信息.例如,预定义的Date(日期)对象提供来自系统时钟的信息.
17.Operators
Operators(操作符)是从一到多个值计算出一个新值的术语.例如,加(+)操作符把两个或多个值加到一起,产生一个新值.
18.Target paths
Target paths(目标路径)是动画中电影剪辑实例名,变量和对象的层次地址.可以在Instance面板中命名一个电影剪辑实例.主时间轴总是拥有一个名字_root.可以用目标路径指向电影剪辑实例中的动作,获取或设置变量的值.
19.Properties
Properties(属性)定义对象的属性.例如,_visible是所有电影剪辑的一个属性,它定义电影剪辑是可见还是隐藏.
20.Variables
Variables(变量)是存储任一数据类型的值的标识符.变量可以创建,改变和更新.它们存储的值可以恢复,供用户在脚步本中使用.
下面比较全面地集了ActionScript的语句并作出了简单的说明,其中包括Flash5中新增的ActionScript.语句是任何一门语言的基础,要成为Flash高手,精通ActionScript是必要的条件。
+Basic Actions 能加入到程序中的基本动作.
-Go to 跳转到指定的帧
-Play 播放
-Stop 停止
-Toggle High Quality 在高品质和低品质间切换
-Stop All Sounds 停止所有声音的播放
-Get URL 使浏览器浏览指定页面
-FSCommand 发送FSCommand命令
-Load Movie 加载影片
-Unload Movie 卸载影片
-Tell Target 指定Action命令生效的目标
-If Frame Is Loaded 帧是否被载入
-ON Mouse Event 鼠标事件
+Actions 所有的动作
-break 跳出循环
-call 调用指定帧
-comment 注释
-continue 继续循环
-delete 删除一个对象中的变量
-do while do while 循环
-duplicateMoveClip 复制电影剪辑
-else 否则(与if联用)
-else if 否则如果(与if联用)
-evaluate 调用自己写的函数
-for for 循环
-for..in 烈举对象中的子体(Child)
-FSCommand 发送FSCommand命令
-function 声明自定义函数
-getURL 使浏览器浏览指定页面
-goto 跳转到指定的帧
-if 如果
-ifFrameLoaded 帧是否被载入
-include 读入外部的ActionScript程序文件(.as)
-loadMovie 加载电影剪辑
-loadVariables 加载外部文件中的变量值
-locaToGlobal MC中的坐标转换成场景(Scene)中的坐标
-on 鼠标事件的触发程序
-onClipEvent 电影剪辑的事件触发程序
-play 播放
-print 输出到打印机
-removeMovieClip 删除电影剪辑
-return 在函数中返回一个值
-set variable 设定变量值
-setProperty 设定属性
-startDrag 开始拖动
-stop 停止
-stopAllSouuds 停止所有声音的播放
-stopDrag 停止拖动
-tellTarget 指定Action命令生效的目标
-toggleHighQuality 在高品质和低品质间切换
-trace 跟踪调试
-unloadMovie 卸载电影剪辑
-var 声明局部变量
-while 当……成立时节
-with 对……对象做……
+Operators 操作符
! 逻辑非操作
!= 不等于
"" 字符串
% 取余数
&& 逻辑与操作
() 括号
* 乘号
+ 加号
++ 变量自加一
-- 变量自减一
- 减号
/ 除号
< 小于
<= 小于等于
<> 不等于
== 相等
> 大于
>= 大于等于
and 逻辑与
not 逻辑非
or 逻辑或
typelf 返回变量类型
void 实例,无返回
‖ 逻辑或操作
+Btiwise Operators 位操作符
& 位与操作
<< 位左移
>> 位右移
>>> 位右移(无符号)
^ 位异或操作
| 位或操作
~ 补位操作
+Compound Assign Operators 复合操作符
%=A%=B 等效于A=A%B
&=A&=B 等效于A=A&B
*=A*=B 等效于A=A*B
+=A+=B 等效于A=A+B
-=A-=B 等效于A=A-B
/=A/=B 等效于A=A/B
<<=A<<=b 等效于A=A<<B
>>=A>>=B 等效于A=A>>B
>>>=A>>>=B 等效于A=A>>>B
^=A^=B 等效于A=A∧B
|=A|=B 等效于A=A|B
+String Perators 字符串操作符
add 连接两个字符串
eq A eq B 字符串A值与字符串值B相等
ge A ge B 字符串A值大于等于字符串B值
gt A gt B 字符串A值大于字符串B值
le A le B 字符串A值小于等于字符串B值
lt A lt B 字符串A值小于字符串B值
ne A ne B 字符串A值不等于字符串B值
+Functions 函数
-Boolean 取表达式的布尔值(True或False)
-escape 除去URL串中的非法字符
-eval 返回由表达式命名的变量得值
-false 布尔非值(0)
-getProperty 获取属性
-getTimer 获取从电影开始播放到现在的总播放时间(毫秒数)
-getVersion 获取浏览的FlashPlayer的版本号
-int 把数值强制转换成整数
-isFinite 测试是否为非有限数
-isNaN 测试是否为非数值
-maxscroll 文本框的最长度
-newline 换行符
-Number 将参数转换成数值
-parseFloat 将字符串转换成浮点数
-parseInt 将字符串转换成小数
-random 产生0到指定数间的随机数
-scroll 文本框中的当前行
-string 将参数转换成字符串
-targetPath 返回指定实例电影剪辑的路径字符串
-ture 布尔是值(1)
unescape 保留字符串中的%XX格式的十六进制ASCⅡ码,XX表示用十六进制ASCⅡ码表示的特殊字符.
注意:使用文字文件传输变量给Flash时,某些特殊字符都必须采用十六进制ASCⅡ码来表示该字符,并在ASCⅡ码前面加上
%符号,这些特殊字符包括"+" "-" "?" "="……等等,以"+"为例,它的十六进制ASCⅡ码为2B,如果文字文件中包含"+"号,就
应该写成"%2B,否则会被解释成空格.
-updateAfterEvent 更新后面的事件
+String Functions 字符串函数
-chr 将ASCⅡ码转换成相应字符
-length 返回字符串的长度
-mbchr 将ASCⅡ/S-JIS编码转换成相应的多字节字符
-mblength 返回多字节字符串的长度
-mbord 将多字节字符转换成相应的ASCⅡ/S-JIS编码
-mbsubstring 截取多字节字符串中的字串
-ord 将字符转换成ASCⅡ码
-substring 截取字符串中的子串
+Properties 属性
-_alpha Alpha值(透明度值)
-_currentframe 在电影剪辑中的当前帧数
-_droptarget 正在拖动的电影剪辑是否播完
-_focusrect 焦点矩形框的显示与否(True显示/Flase不显示)
-_framesloaded 载入的影帧数
-_height 电影剪辑的高度
-_highquality 品质的高低(Ture高品质/Flase低品质)
-_name 电影剪辑的实体名
-_quality 当前品质(字符串值)LOW,MEDIUM,HIGH,BEST
-_rotation 电影剪辑旋转的角度(单位:度)
-_soundbuftime 声音的缓冲区大小(默认值5,单位:秒)
-target 电影剪辑的路径
-_totalframes 总帧数
-_url 电影被调用的URL地址
-_visible 是否可视(True可视/False不可视)
-_width 电影剪辑的宽度
-_x 电影剪辑的X坐标
-_xmouse 鼠标的X坐标
-_xscale 电影剪辑的X轴向缩放度
-_y 电影剪辑的Y坐标
-_ymouse 鼠标的Y坐标
-_yscale 电影剪辑的Y轴向缩放度
+Objects 对象
+Array 数组
-concat 合并多个数组
-join 合并数组元素字符串
-length 返回数级组长度
-new Array 新建数组对象
-pop 出栈(FILO先入后出)
-push 入栈(入队列)
-reverse 反相(颠倒数组,即第一个元素和最后一个元素互换——)
-shift 出队列(FIFO先入先出)
-slice 截取数组中的子串生成新的数组
-sort 数组元素的排序
-splice 从数组中指定元素起删除指定个数的元素或者删除指定元素
-unshift 从数组头部插入一个元素
-toString 将数组转换为字符串
+Boolean 布尔数
-new Boolean 新建布尔型对象
-toString 将布尔型对象的值转换成字符串值
-valueOf 获取布尔型对象的值(返回值为布尔型)
+Color 颜色
-getRGB 获取颜色值的RGB分量(返回值0xRRGGBB)十六进制)
-getTransform 获取颜色值的转换量(返回值cxform型)
-new Color 新建一颜色对象
-setRGB 设置颜色值的RGB分量(参数为0xRRGGBB十六进制)
-setTansform 设置颜色值的转换量(参数为cxform型)
+Date 时间和日期
-getDate 获取当前日期(本月几日)
-getDay 获取今天是星期几(0-Sunday,1-Monday------)
-getFullYear 获取当前年份(四位数字)
-getHours 获取当前小时数(24小时制,0~23)
-getMiliseconds 获取当前毫秒数
-getMinutes 获取当前分钟数
-getMonth 获取当前月份(注意从0开始:0-Jan,1-Feb---)
-getSeconds 获取当前秒数
-getTime 获取UTC格式的从1970.1.10:00以来的秒数
-getTimezoneoffset 获取当前时间和UTC格式的偏移值(以分钟为单位)
-getUTCDate 获取UTC格式的当前日期(本月的几号)
-getUTCDay 获取UTC格式的今天是星期几(0-Sunday,1-Monday------)
-getUTCFullYear 获取UTC格式当前年份(四位数字)
-getUTCHours 获取UTC格式当前小时数(24小时制,0~23)
-getUTCMiliseconds 获取UTC格式当前毫秒数
-getUTCMinutes 获取UTC格式当前分钟数
-getUTCMonth 获取UTC格式当前月份(注意从0开始:0-Jan,1-Feb---)
-getUTCSeconds 获取UTC格式当前秒数
-getYear 获取当前缩写年份(当前年份减去1900)
-new Date 新建日期时间对象
-setDate 设置当前日期(本月的几号)
-setFullYear 设置当前年份(四位数字)
-setHours 设置当前小时数(24小时制,0~23)
-setMiliseconds 设置当前毫秒数
-setMinutes 设置当前分钟数
-setMonth 设置当前月份(注意从0开始:0-Jan,1-Feb---)
-setSeconds 设置当前秒数
-setTime 获取UTC格式的从1970.1.10:00以来的秒数
-getUTCDate 获取UTC格式的当前日期(本月的几号)
-getUTCDay 获取UTC格式的今天是星期几(0-Sunday,1-Monday------)
-getUTCFullYear 获取UTC格式当前年份(四位数字)
-getUTCHours 设置UTC格式当前小时数(24小时制,0~23)
-getUTCMiliseconds 设置UTC格式当前毫秒数
-getUTCMinutes 设置UTC格式当前分钟数
-getUTCMonth 设置UTC格式当前月份(注意从0开始:0-Jan,1-Feb---)
-getUTCSeconds 设置UTC格式当前秒数
-getYear 设置当前缩写年份(当前年份减去1900)
-toString 将日期时间值转换成 日期/时间串值
-UTC 返回指定的UTC格式日期时间的固定时间值
+Key 键盘
-BACKSPACE Backspace键
-CAPSLOCK CapsLock 键
-CONTROL Ctrl键
-DOWN 下方向键
-DELETEKEY Delete(Del)键
-END End键
-ENTER Enter(回车)键
-ESCAPE Esc键
-getAscii 获取最后一个按下或松开的键的对应字符的ASCⅡ码
-getCode 获取最后一个被按下的键的键盘扫描码
-HOME Home 键
-INSERT Insert(Ins)键
-isDown 当指定键被按下时返回True值
-isToggled 当指定键被锁定时返回True值
-LEFT 左方向键
-PGDN PageDown(PGDN)键
-PGUP PageUp(PGUP)键
-RIGHT 右方向键
-SHIFT Shift键
-SPACE 空格键
-TAB Tab键
-up 上方向键
+Math 数学函数
-abs abs(n) 取n的绝对值
-acos acos(n) n的反余弦(返回值单位:弧度)
-asin asin(n) n的反正弦(返回值单位:弧度)
-atan atan(n) n的反正切(返回值单位:弧度)
-atan2 atan2(x,y) 计算x/y的反正切
-ceil ceil(n) 取靠近n的上限的整数(向上取整)
-cos cos(n) 取n的余弦(n的单位:弧度)
-E Euler(欧拉) 指数(约为2.718)
-exp 指数
-floor floor(n) 取靠近n的下限整数(向下取整)
-LN10 ln10(约等于2.302)
-LN2 ln2(约等于0.693)
-log 取自然对数(e为底)
-LOG10E 以10为底,取E的对数(约等于0.434)
-LOG2E 以2 为底,取E 的对数(约等于1.443)
-max 返回两参数中的最大值
-min 返回两参数中的最小值
-PI 圆周率(约等于3.14159)
-pow pow(x,Y) x的y次方
-random 产生0-1间的随机数
-round 四舍五入取整
-sin sin(n) 取n的正弦(n的单位:弧度)
-sqrt 开根号
-SQRT1_2 0.5开根号(约等于0.7070)
-SQRT2 2开根号(约等于1.414)
-tan tan(n) 取n的正切(n的单位:弧度)
+MovieClip 电影剪辑
-attachMovie 绑定一个电影,产生一个库中电影剪辑的实例
-dupicateMovieClip 复制当前电影剪辑为新的电影剪辑
-getURL 使浏览器浏览指定页面
-gotoAndPlay 跳转到指定帧并播放
-gotoAndStop 跳转到指定帧并停止播放
-hitTest 测试一个点或者MC是否同另一个交叉
-loadMovie 导入一个外部电影到指定层
-loadVariables 导入外部文件中的变量值
-localTOGlobal
-nextFrame 下一帧
-prevFrame 前一帧
-removeMovieClip 删除用duplicateMovieClip创建的电影剪辑
-startDrag 开始拖动电影剪辑
-stopDrag 停止拖动电影剪辑
-unloadMovie 卸载由loadMovie导入的电影
+Mouse 鼠标
-hide 隐藏光标
-show 显示光标
+Number 数值
-MAX_value FLASH5 所允许的最大数值1.79769313486231 e 308
-MIN_value JLASH5 所允许的最小数值5e -324
-NaN 是否为非数值(Not a Number)
-NEGATIVE_INFINITY 是否为负数
-new Number 新建数值对象
-POSITVE_INFINITY 是否为正数
toString 将数值转换成字符串
+Object 对象
-new Object 新建对象
-toString 转换对象为字符串
-valueOf 返回对象的值
+Selection 选择区
-getBeginIndex 获取可编辑文本区的起始位置,-1表示无可编辑文本区
-getCareIndex 获取当前的编辑位置,-1表示没有可编辑文本区
-getEndIndex 获取可编辑文本区的结束位置,-1表示无可编辑文本区
-getFocus 获取当前的激活文本区
-setFocus 设置当前的激活文本区
-setSelection 设置可编辑文本的起始位置和终止位置
+Sound 声音
-sttachSound 绑定库中的一个声音
-getPan 获取声音的混音值
-getTransform 获取当前声音的变换量(返回值类型:sxform)
-getVolume 获取当前声音的音量(百分比)
-new sound 新建声音对象
-setPan 设置声音的混音值
-setTransform 设置当前声音 的变换量(参数类型:sxform)
-setVloume 设置当前声音的音量(百分比)
-start 开始播放当前声音
-stop 停止播放当前声音
+String 字符串
-charAt 在指定的索引表中返回一个字符
-charCodeAt 在指定的索引表中返回一个字符的代码
-conxat 联结全并多个字符串
-fro 电影剪辑harcodew从字符代码组构造出一个新的字符串
-indexOf 在字符串中寻找子串,返回子串起始位置或中-1(-1表示未找到)
-lastIndexOf 在字符串中寻找子串,返回子串终止位置或中-1(-1表示未找到)
-length 返回字符串的长度
-new String 新建字符串对象
-slice 返回字符串中指定截取的子串
-split 根据限定符将字符串转换成一个数组
-substr substr(start,length) 返回从start开始,共length长的子串
-substring substring(indexA,indexB) 返回indexA..indexB之间的子串
-toLowerCase 将字符串中的大写字符全部转换成小写
-toUpperCase 将字符串中的小写字符全部转换成大写
+XML 可扩充性标记语言
-appendChild 添加一个子节点到指定的XML元素
-attributes XML元素的属性数组
-childNodes 一个XML元素的子节点数组
-cloneNode 克隆(复制)当前节点
-createElement 新建一个新的XML元素
-createTextNode 新建一个新的XML文本节点
-firstChild 返回当前XML节点的第一个子节点
-hasChildNodes 当前XML节点是否有子节点(返回True有子节点/flash则无)
-insertBefore 在一个指定的XML元素的子节点前插入一个新的子节点
-lastChild 返回当前XML节点的最后一个子节点
-load 从指定的URL把XML元素导入FLASH中
-loaded 当XML元素导对象
-nextSibling 当前XML节点的下的一个节点
-nodeName 返回当前XML节点的名字
-nodeType 返回当前XML节点的类型(1-元素,3文本)
-nodevalue 返回当前XML节点的值(text型返回文本)
-onLoad 当导入或发送同时导入时触发事件
-parentNode 返回当前XML节点的父节点
-parseXML 将XML字符转换成XML对象
-previousSibling 当前XML节点的前一个节点
-removeNode 从XML文本中删除节点
-send 从Flash中把一个XML元素发送到指定的URL地址
-sendAndLoad 从Flash中把一个XML元素发送到指定的URL地址同时导入XML结果
-Status
-toString 把XML对象转换为XML字符串表达
-xmlDecl
+XMLSocket XML套接口
-close 关闭一个XML套接口
-cnnect 连接一个XML套接口,指定URL,并定义其端口号
-newXMLSocket 建立一个新的XML套接口
-onClose 关闭XML套接口时触发事件
-onConnect 连接XML套接口时触发事件
-onXML 从服务器上获取XML时触发事件
-send 发送XML给服务器
1.点语法
在ActionScript中,点(.)被用来指明与某个对象或电影剪辑相关的属性和方法.它也用于标识指向电影剪辑或
变量的目标路径.点语法表达式由对象或电影剪辑名开始,接着是一个点,最后是要指定的属性,方法或变量.例
如,_X电影剪辑属性指出编辑区中电影剪辑的X轴位置.表达式andy电影剪辑._x是指电影剪辑实例andy电影剪辑
的_X属性.
又例如,test1是在电影剪辑form中设置的一个变量,而form又是嵌套在电影剪辑cup中的电影剪辑.表达式cup.from.test1=true
的作用是设置实例form的submit变量的值为true.
表达一个对象或电影剪辑的方法遵循相同的模式.例如,testMovie电影剪辑的play方法移动testMovie的时间播
放头,就像下面的语句:
testMovie.play();
点语法使用两个特殊的别名:_root和_parent.别名_roof是指主时间轴.可以使用_roof别名创建一个绝对路径.
例如,下面的语句调用主时间轴中电影剪辑functions的builGameBoard函数:
_roof.functions.buildgameBoard();
可以用别名_parent引用嵌套当前电影剪辑的电影剪辑.也可以用_parent创建一个相对目标路径.例如,如果电影
剪辑dog被嵌套在电影剪辑animal之中,那么,在工作区符号dog上的下列语句告诉animal停止播放:
_parent.stop();
2.斜杠语法
FLASH3和4使用斜杠语法指出电影剪辑或变量的目标路径.FLASH5播放器仍然支持这种语法,但不推荐使用.在斜
杠语法中,斜杠被用来取代点,有以标明电影剪辑或变量的路径.要指出一个变量,可以在变量前加上冒号,如下
所示:
myMovieClip/childMovieClip:myVariable
可以用点语法取代上述斜杠语法表示的目标路径:
myMovieClip.childMovieClip.myVariable
斜杠语法在telltarget动作中使用最普遍,但这种动作在FLASH5中已不再推荐使用.
3.大括号
ActionScript语句用大括号({}分块,如下面的脚本所示:
on(release) {
myDate = new Date();
currenMonth=myDate.getMonth();
}
4.分号
ActionScript语句用分号结束,但如果省略语句结尾的分号,FLASH仍然可以成功地编译脚本.例如,下面的语句
用分号结束:
myDate=new Date();
currenMonth=myDate.getMonth();
同样的语句也可以不写分号:
myDate=new Date() currenMonth=myDate.getMonth();
5,圆括号
定义一个函数时,要把参数放在圆括号中:
function myFunction (name,age,reader) {
…
}
调用一个函数时,也要把要传递的参数放在圆括号中:
myFunction ("Steve",10,true);
圆括号也可以用来改变ActionScript的优先级,或使自己编写的ActionScript语句更容易阅读.
也可以用圆括号来计算点语法中点左边的表达式.例如,在下面的语句中,圆括号使表达式new color(this)得到
计算,并创建了一个新的颜色对象:
onClipEvent(enterFrame) {
(new Color(this).setRGB(0xffffff)};
}
6.字母的大小写
在ActionScript中,只有关键字区分大小写.对于其余的ActionScript,可以使用大写或小写字母.例如,下面的语
句是等价的:
cat.hilite=true;
CAT.hilite=true;
但是遵守一致的大小写约定是一个好的习惯.这样,在阅读ActionScript代码时更易于区分函数和变量的名字.如
果在书写关键字时没有使用正确的大小写,脚本将会出现错误.当在Action面板中启用彩色功能时,用正确的大小
写书写的关键字以蓝色显示.
7,注释
需要记住一个动作的作用时,可在Action面板中使用comment语句给帧或按扭动作添加注释.如果在协作环境中工
作或给别人提供范例,添加注释有助于别人对编写的脚本的理解.
在Action面板中选择comment(注释)动作时,字符//被插入到脚本中. 如果在创建脚本时加注释,即使是简单的脚
本也易于理解:
on(release) {
//建立新的日期对象
myDate=new Date();
currentMonth =myDate.getMonth();
//把用数字表示的月份转换为文字表示的月份
monthName=calcMonth(currentMonth);
year=myDate.getFullyear();
currentDate=myDate.gerDate();
}
在脚本窗口,注释内容用粉红色显示.它们的长度不限,且不影响导出文件的大小.
8.关键字
ActionScript保留一些单词,专用与一语言之中.因此,不能用这些保留字作为变量,函数或标签的名字.下面列出
了ActionScript中所有的关键字:
ActionScript中所有的关键字:break for new
var continue function
return void delete
if this while
else in typeof
with
要了解更多关于专用关键字的信息,请参阅ActionScript词典中相关的词条.
9.常数
常数是其值永不改变的属性.常数大写字母列于Action面板和ActionScript词典中.例如,常数BACKSPACE,ENTER,
QUOTE,RETURN,SPACE和TAB是key对象的属性,指键盘上的键.要测试用户是否在按Enter键,使用下面的语句:
if(keycode()==key.ENTER) {
alert="Are you ready to play?"
control电影剪辑.gotoAndStop(5);
}
回想从前,网络上动画的表现形式大概只有GIF。而GIF又有制作复杂与最高256色限制的缺点,不被广泛采用。Flash的横空出世,改变这一切,使网络这个动画世界便变得异常丰富多彩。你也想要制作出炫丽夺目的Flash动画?来吧,跟着小米试试从0开始Flash。
公欲善其事,必先利其器。首先,让我们选择一款适合自己的Flash制作利器。Adobe的LiveMotion虽然出自“名家”之手,但比较专业,使用的人不多。而Macromedia公司的Flash,容易上手,可以轻易制作出各种动画效果。就是它了,以后,小米将会以Macromedia Flash MX(以下简称Flash)为例,为大家揭开Flash制作之迷。
一、倒计时制作。
让我们从制作倒计时的例子开始,慢慢了解Flash的功能、特性以及动画制作过程。
打开Flash,它已经为我们新建了一个文件。但是,这个文件的大小、播放速度往往不符合我们的要求,所以,我们首先要对它进行调整。这时,我们就需要用到Modify(更改)菜单里的Document(文档)项。如图一。
大家还可以看到它的快捷键是Ctrl+J。菜单包括了Flash里几乎所有的操作。点击后,出现Document Properties(文档属性)对画框。如图二。
在这里,您可以对自己的动画进行适当的设置。我们把动画的长宽都设置为400px,背景色为黑色。把Frame Rate(播放速度)设置成1fps(1帧/秒)。
小米想对Frame Rate进行一下说明:我们把动画中一个个静止的画面称作为帧。而动画,就是根据视觉暂留的原理,由一个个的帧组成的。一般情况下,每秒播放的帧数越多,动画的连续性就越好,但同时,动画的容量也越大。在制作一般的Flash动画时,12fps是比较合适的,少于12fps,会给人不连接的感觉,多于12fps又会使动画体积增大。当然,也有特殊情况,例如,在制作倒计时的时候,由于对播放的连续性要求并不是很高,所以,为了尽量减小体积,小米把播放速度设置成了1fps。
按OK,一个背景为黑色、大小为400px*400px、播放速度为1fps的动画场景就建好了。为说明方便,在这里,小米把界面上的各个部分的名称标出,如图三。
首先,我们来画一个圆。第一步,把“描边色”设置成浅蓝色,背景色设置成无。接着,通过属性面版(底部的那个)设置线粗为4px。面板最需要的作用就是显示和设置属性。
选工具栏中的画圆工具。Flash中,基本图形,如矩形、圆的绘制工作,就可以交给工具栏来完成。然后,在工作区按下鼠标左键不放,拖动。咦?怎么不圆?不要放开鼠标,同时按下键盘上的Shift键试试?圆了吧。在Flash里,要画什么正的东东,像圆啊、正方形啦一类的,就需要用到Shift键。调整好大小,放开鼠标左键。如果觉得圆不够正中,还可以用选择工具(工具栏左上第一个工具)拖动,直到满意为止。
然后,我们选择工具栏中的文字工具。属性面板里,就出现了对文字属性的调整项。由于小米采用了800乘以600的分辨率,所以,有些文字属性选项显示不完整。这类问题,我们可以通过把属性栏“拖”出来来解决。把鼠标放到相应的面板左边,按住鼠标左键一“拖”,瞧,相应的属性栏就“浮”在了界面上。如图四。
不过,用完了以后可得记得放回去哟,要不然,过不了多久,你的操作界面就会变得凌乱不堪了。(这个跟理房间大概差不多:-)
然后,我们对文字进行设置。把字体设置成Arial Black,字号设置成96(最大),颜色为蓝色。如图五。(可以依据自己的喜好作合适的设置。)
在工作区内输入一个数字“1”。如图六。不够大?这个不是问题。因为这个“1”相当于一个矢量图形,可以无限放大或缩小而不影响其质量。
矢量图形区别于位图,它以图形的特征转化为数据信息保存于文件中,这就相当于知道了一个图形的解析式,在不改变精细程度的条件下,想把它作成多大的就可以作成多大。而位图则记录图形上每一个点所包含的颜色信息。极细小的点(红、绿、蓝)混在一起,就可以表现出各种图像。但由于你把图象放大时,点也会变大,所以,图像就会变得粗糙。如果你注意观察过路边的大型广告牌,你就会发现类似的现象了。
好了,用选择工具(左边第一个)点中要改变大小的对象——“1”字,点击工具栏上的自由变化工具(左边第六个)。出现了六个操作柄(空心矩形)。用鼠标点中其中一个操纵柄(注意,一定要点中哦),然后拖动,就可以自由改变图形的大小了。如图七。
这样子,一个帧就基本完成了。而小米前面说过,动画是由一个个帧组成的。那么,我们是不是马上建立第二、第三个帧……来形成动画呢?别急。在Flash里,通常把不同的对象(前面我们所画的一个圆是一个对象,“1”也是一个对象)转化成不同的”Symbol”(“符号”)。Flash中,符号共有图象、按钮和动画三种。而一个图形符号,就像是一张剪纸,它是独立的,你可以随意移动它,使之形成动画。当然,在制作倒计时,因为每帧都是独立的,所以,即使不把对象转换成符号也可以。但是,在自动有“移动”操作的动画时,把对象转换成符号就非常有必要了。符号还有可以反复利用等优点。所以,为了养成一个良好的习惯,我们还是把“1”转换成对象吧。而对于圆,相当于一个背景的作用,绝对不会有动画效果,也就没有必要转换了。
用选择工具选中“1”(出现矩形边框),用鼠标右击,选择“Covert to Symbol”(转换成符号)。在出现的窗口中,把“Name”(名称)设置成“Graph 1”,“Behavior”(本意为“行为”,在这里可以表示“类型”)中选择“Graphic”(图形),“Registration”(区域)是Flash MX里新增的一个功能,可以选择图形在符号中的位置,在这里我们选择居中,即点中中间的小矩形,使之反白显示,点“OK”。如图八。
咦?怎么没有变化?呵呵,其实变化是有的,仔细观察,“1”中心的空心圆里已经出现了一个“十”字。
倒计时当然不可以只有一个数字,我们要做一个从n到0的倒计时,就需要有n+1个符号,分别放0到n这n+1上数字。我们可以再利用上述方法制作好数字,然后转换。当然还有更快的方法。
令n=5,考虑到这六个数字有一定的相似性,我们可以通过复制符号来实现。这时,我们就需要用到一个叫“Library”(库)的“Panel”(面板),通过菜单“Window/Library”或者F11键可以打开库面板。这时,就可以看到刚才转换的“Graph 1”组件。用鼠标在“Graph 1”上右击,点击Duplicate(复制),如图九。然后,看到类似于图七的对话框,把名称设置成“Graph 0”“Graph 2”“Graph 3”……这时,所有图形符号里的内容都是一样的(那是当然的,要不然就不叫复制了:)。双击“Graph 0”左边的矩形图(注意不要点到文字,或者是改名操作)。工作区转到了符号编辑状态。然后,直接双击“1”,改成“0”,然后在反白区以外处点击。那么,我们要如何再恢复到Scene编辑状态呢?点击时间栏左下方的“Scene 1”即可。依次类推,完成Graph 2至Graph 5的制作。
好了,以上动画制作的准备工作,接着,我们就可以把这些素材做成一个个的帧,形成动画了。
首先,在“Layer 1”对应的时间栏第二帧上右击,选择“Insert Keyframe”(插入)关键帧。如图十。也可以把一到六帧全部都选中,然后按F6键。这时候,如果预览的话,只能看到一张“静止”的图象,因为每一个键的内容都是一样的。
选择第一帧,把工作区的“1”删掉。别担心,因为我们前面已经把它转换成了符号,所以,它仍然被保留在符号库里。把“Graph 5”从符号库里拖出来。我们希望把每个数字都放在场景的中心,一方面使之看起来中规中矩,另一方面,利于对齐。这时我们可以利用“Align Panel”(对齐面板)。点击菜单“Window/Align”,在出现的面板中,选中右边的“To stage”(相对于场景),然后分别点击第一、第二排的第二个按钮。用同样的方法,完成2至6帧的制作。
OK。按Ctrl+S,保存一下这个文件,然后按Ctrl+Enter进行预览。一个倒计时已经完成了。
小结:或许这个动画不是很高明,但小米想,最重要的是我们已经了解了动画是怎样产生的:一个个帧连续变化的帧,形成动画。如果我们让每一个帧里的东东位置稍微发生变化,就会让人感觉它移动起来了。这样的效果,我们将在今后的日子里逐渐接触。
Actions(动作)是指示一个动画在播放时做某些事情的一些语句。例如,gotoAndStop把播放头放到指定的帧或标签。
2.Arguments
Arguments,称为参数,通过它可以把值传递给函数。
3.Classes
Classes(类)是可以创建的数据类型,用以定义的对象类型。要定义对象的类,需要创建一个构造函数。
4.Constructors
Constructors(常数)是不能改变的元素。例如,常数Tab总是具有相同的意义。常数在比较值时很有用。
5.Constructors
Constructors(结构体)是用来定义类的属性和方法的函数.
6.Datatypes
Datatypes(数据类型)是一组值和对这些值进行运算的操作符.字符串,数值,逻辑值(true和false),对象和电影剪辑是ActionScript的数据类型.
7.Events
Events(事件)是动画正在播放时发生的动作.例如,当装载电影剪辑,播放头到达某帧,用户单击按钮或移动到电影剪辑,或用户用键盘输入时,可以发生不同的事件.
8.Expressions
Expressions(表达式)是语句中能够产生一个值的任一部分.例如,2+2就是一个表达式.
9.Functions
Functions(函数)是可以传送参数并能返回值的可重用代码块.例如,geProperty函数传送属性名,然后返回这些属性的值;getVersion函数返回当前正在播放动画的Flash播放器的版本.
10.Handlers
Handlers(事件处理程序)是一利特殊的动作,它"处理"或管理事件(如mouseDowna和load).例如,on(onMouseEvent)和onClipEvent就是ActionScript的事件处理程序.
11.Identifiers
Identifiers(标识符)是用来标明变量,属性,对象,函数或方法的名字.第一个字符必须是字母,下划线(_)或美元特号($).每个后续字符必须是字母,数字,下划线(_)或美元特号($).例如,firstName是一个变量名.
12.Instances
Instances(实例)是属于某个类的对象.一个类的每个实例包含该类的所有属性和方法.所有电影剪辑都是Movieclip类的实例,均拥有该类的属性(如_alpha和_visible)和方法(如gotAndPlay和getURL).
13.Instancenames
Instancenames(实例名)是在脚步本中指向电影剪辑实例的唯一名字.例如,在符号库中的一个主符号可以称为,counter,在动画中该符号的两个实例可以取实例名scorePlayer1和scorePlayer2.
14.Keywords
Keywords(关键字)是具有特定的保留字。例如,var是一个用来声明本地变量的关键字.
15.Methods
Methods(方法)是分配给一个对象的函数.一个函数被分配后,可作为对象的方法被调用.
16.Objects
Objects(对象)是属性的集合.每个对象都有它的名字和值.对象允许你访问某种类型的信息.例如,预定义的Date(日期)对象提供来自系统时钟的信息.
17.Operators
Operators(操作符)是从一到多个值计算出一个新值的术语.例如,加(+)操作符把两个或多个值加到一起,产生一个新值.
18.Target paths
Target paths(目标路径)是动画中电影剪辑实例名,变量和对象的层次地址.可以在Instance面板中命名一个电影剪辑实例.主时间轴总是拥有一个名字_root.可以用目标路径指向电影剪辑实例中的动作,获取或设置变量的值.
19.Properties
Properties(属性)定义对象的属性.例如,_visible是所有电影剪辑的一个属性,它定义电影剪辑是可见还是隐藏.
20.Variables
Variables(变量)是存储任一数据类型的值的标识符.变量可以创建,改变和更新.它们存储的值可以恢复,供用户在脚步本中使用.
下面比较全面地集了ActionScript的语句并作出了简单的说明,其中包括Flash5中新增的ActionScript.语句是任何一门语言的基础,要成为Flash高手,精通ActionScript是必要的条件。
+Basic Actions 能加入到程序中的基本动作.
-Go to 跳转到指定的帧
-Play 播放
-Stop 停止
-Toggle High Quality 在高品质和低品质间切换
-Stop All Sounds 停止所有声音的播放
-Get URL 使浏览器浏览指定页面
-FSCommand 发送FSCommand命令
-Load Movie 加载影片
-Unload Movie 卸载影片
-Tell Target 指定Action命令生效的目标
-If Frame Is Loaded 帧是否被载入
-ON Mouse Event 鼠标事件
+Actions 所有的动作
-break 跳出循环
-call 调用指定帧
-comment 注释
-continue 继续循环
-delete 删除一个对象中的变量
-do while do while 循环
-duplicateMoveClip 复制电影剪辑
-else 否则(与if联用)
-else if 否则如果(与if联用)
-evaluate 调用自己写的函数
-for for 循环
-for..in 烈举对象中的子体(Child)
-FSCommand 发送FSCommand命令
-function 声明自定义函数
-getURL 使浏览器浏览指定页面
-goto 跳转到指定的帧
-if 如果
-ifFrameLoaded 帧是否被载入
-include 读入外部的ActionScript程序文件(.as)
-loadMovie 加载电影剪辑
-loadVariables 加载外部文件中的变量值
-locaToGlobal MC中的坐标转换成场景(Scene)中的坐标
-on 鼠标事件的触发程序
-onClipEvent 电影剪辑的事件触发程序
-play 播放
-print 输出到打印机
-removeMovieClip 删除电影剪辑
-return 在函数中返回一个值
-set variable 设定变量值
-setProperty 设定属性
-startDrag 开始拖动
-stop 停止
-stopAllSouuds 停止所有声音的播放
-stopDrag 停止拖动
-tellTarget 指定Action命令生效的目标
-toggleHighQuality 在高品质和低品质间切换
-trace 跟踪调试
-unloadMovie 卸载电影剪辑
-var 声明局部变量
-while 当……成立时节
-with 对……对象做……
+Operators 操作符
! 逻辑非操作
!= 不等于
"" 字符串
% 取余数
&& 逻辑与操作
() 括号
* 乘号
+ 加号
++ 变量自加一
-- 变量自减一
- 减号
/ 除号
< 小于
<= 小于等于
<> 不等于
== 相等
> 大于
>= 大于等于
and 逻辑与
not 逻辑非
or 逻辑或
typelf 返回变量类型
void 实例,无返回
‖ 逻辑或操作
+Btiwise Operators 位操作符
& 位与操作
<< 位左移
>> 位右移
>>> 位右移(无符号)
^ 位异或操作
| 位或操作
~ 补位操作
+Compound Assign Operators 复合操作符
%=A%=B 等效于A=A%B
&=A&=B 等效于A=A&B
*=A*=B 等效于A=A*B
+=A+=B 等效于A=A+B
-=A-=B 等效于A=A-B
/=A/=B 等效于A=A/B
<<=A<<=b 等效于A=A<<B
>>=A>>=B 等效于A=A>>B
>>>=A>>>=B 等效于A=A>>>B
^=A^=B 等效于A=A∧B
|=A|=B 等效于A=A|B
+String Perators 字符串操作符
add 连接两个字符串
eq A eq B 字符串A值与字符串值B相等
ge A ge B 字符串A值大于等于字符串B值
gt A gt B 字符串A值大于字符串B值
le A le B 字符串A值小于等于字符串B值
lt A lt B 字符串A值小于字符串B值
ne A ne B 字符串A值不等于字符串B值
+Functions 函数
-Boolean 取表达式的布尔值(True或False)
-escape 除去URL串中的非法字符
-eval 返回由表达式命名的变量得值
-false 布尔非值(0)
-getProperty 获取属性
-getTimer 获取从电影开始播放到现在的总播放时间(毫秒数)
-getVersion 获取浏览的FlashPlayer的版本号
-int 把数值强制转换成整数
-isFinite 测试是否为非有限数
-isNaN 测试是否为非数值
-maxscroll 文本框的最长度
-newline 换行符
-Number 将参数转换成数值
-parseFloat 将字符串转换成浮点数
-parseInt 将字符串转换成小数
-random 产生0到指定数间的随机数
-scroll 文本框中的当前行
-string 将参数转换成字符串
-targetPath 返回指定实例电影剪辑的路径字符串
-ture 布尔是值(1)
unescape 保留字符串中的%XX格式的十六进制ASCⅡ码,XX表示用十六进制ASCⅡ码表示的特殊字符.
注意:使用文字文件传输变量给Flash时,某些特殊字符都必须采用十六进制ASCⅡ码来表示该字符,并在ASCⅡ码前面加上
%符号,这些特殊字符包括"+" "-" "?" "="……等等,以"+"为例,它的十六进制ASCⅡ码为2B,如果文字文件中包含"+"号,就
应该写成"%2B,否则会被解释成空格.
-updateAfterEvent 更新后面的事件
+String Functions 字符串函数
-chr 将ASCⅡ码转换成相应字符
-length 返回字符串的长度
-mbchr 将ASCⅡ/S-JIS编码转换成相应的多字节字符
-mblength 返回多字节字符串的长度
-mbord 将多字节字符转换成相应的ASCⅡ/S-JIS编码
-mbsubstring 截取多字节字符串中的字串
-ord 将字符转换成ASCⅡ码
-substring 截取字符串中的子串
+Properties 属性
-_alpha Alpha值(透明度值)
-_currentframe 在电影剪辑中的当前帧数
-_droptarget 正在拖动的电影剪辑是否播完
-_focusrect 焦点矩形框的显示与否(True显示/Flase不显示)
-_framesloaded 载入的影帧数
-_height 电影剪辑的高度
-_highquality 品质的高低(Ture高品质/Flase低品质)
-_name 电影剪辑的实体名
-_quality 当前品质(字符串值)LOW,MEDIUM,HIGH,BEST
-_rotation 电影剪辑旋转的角度(单位:度)
-_soundbuftime 声音的缓冲区大小(默认值5,单位:秒)
-target 电影剪辑的路径
-_totalframes 总帧数
-_url 电影被调用的URL地址
-_visible 是否可视(True可视/False不可视)
-_width 电影剪辑的宽度
-_x 电影剪辑的X坐标
-_xmouse 鼠标的X坐标
-_xscale 电影剪辑的X轴向缩放度
-_y 电影剪辑的Y坐标
-_ymouse 鼠标的Y坐标
-_yscale 电影剪辑的Y轴向缩放度
+Objects 对象
+Array 数组
-concat 合并多个数组
-join 合并数组元素字符串
-length 返回数级组长度
-new Array 新建数组对象
-pop 出栈(FILO先入后出)
-push 入栈(入队列)
-reverse 反相(颠倒数组,即第一个元素和最后一个元素互换——)
-shift 出队列(FIFO先入先出)
-slice 截取数组中的子串生成新的数组
-sort 数组元素的排序
-splice 从数组中指定元素起删除指定个数的元素或者删除指定元素
-unshift 从数组头部插入一个元素
-toString 将数组转换为字符串
+Boolean 布尔数
-new Boolean 新建布尔型对象
-toString 将布尔型对象的值转换成字符串值
-valueOf 获取布尔型对象的值(返回值为布尔型)
+Color 颜色
-getRGB 获取颜色值的RGB分量(返回值0xRRGGBB)十六进制)
-getTransform 获取颜色值的转换量(返回值cxform型)
-new Color 新建一颜色对象
-setRGB 设置颜色值的RGB分量(参数为0xRRGGBB十六进制)
-setTansform 设置颜色值的转换量(参数为cxform型)
+Date 时间和日期
-getDate 获取当前日期(本月几日)
-getDay 获取今天是星期几(0-Sunday,1-Monday------)
-getFullYear 获取当前年份(四位数字)
-getHours 获取当前小时数(24小时制,0~23)
-getMiliseconds 获取当前毫秒数
-getMinutes 获取当前分钟数
-getMonth 获取当前月份(注意从0开始:0-Jan,1-Feb---)
-getSeconds 获取当前秒数
-getTime 获取UTC格式的从1970.1.10:00以来的秒数
-getTimezoneoffset 获取当前时间和UTC格式的偏移值(以分钟为单位)
-getUTCDate 获取UTC格式的当前日期(本月的几号)
-getUTCDay 获取UTC格式的今天是星期几(0-Sunday,1-Monday------)
-getUTCFullYear 获取UTC格式当前年份(四位数字)
-getUTCHours 获取UTC格式当前小时数(24小时制,0~23)
-getUTCMiliseconds 获取UTC格式当前毫秒数
-getUTCMinutes 获取UTC格式当前分钟数
-getUTCMonth 获取UTC格式当前月份(注意从0开始:0-Jan,1-Feb---)
-getUTCSeconds 获取UTC格式当前秒数
-getYear 获取当前缩写年份(当前年份减去1900)
-new Date 新建日期时间对象
-setDate 设置当前日期(本月的几号)
-setFullYear 设置当前年份(四位数字)
-setHours 设置当前小时数(24小时制,0~23)
-setMiliseconds 设置当前毫秒数
-setMinutes 设置当前分钟数
-setMonth 设置当前月份(注意从0开始:0-Jan,1-Feb---)
-setSeconds 设置当前秒数
-setTime 获取UTC格式的从1970.1.10:00以来的秒数
-getUTCDate 获取UTC格式的当前日期(本月的几号)
-getUTCDay 获取UTC格式的今天是星期几(0-Sunday,1-Monday------)
-getUTCFullYear 获取UTC格式当前年份(四位数字)
-getUTCHours 设置UTC格式当前小时数(24小时制,0~23)
-getUTCMiliseconds 设置UTC格式当前毫秒数
-getUTCMinutes 设置UTC格式当前分钟数
-getUTCMonth 设置UTC格式当前月份(注意从0开始:0-Jan,1-Feb---)
-getUTCSeconds 设置UTC格式当前秒数
-getYear 设置当前缩写年份(当前年份减去1900)
-toString 将日期时间值转换成 日期/时间串值
-UTC 返回指定的UTC格式日期时间的固定时间值
+Key 键盘
-BACKSPACE Backspace键
-CAPSLOCK CapsLock 键
-CONTROL Ctrl键
-DOWN 下方向键
-DELETEKEY Delete(Del)键
-END End键
-ENTER Enter(回车)键
-ESCAPE Esc键
-getAscii 获取最后一个按下或松开的键的对应字符的ASCⅡ码
-getCode 获取最后一个被按下的键的键盘扫描码
-HOME Home 键
-INSERT Insert(Ins)键
-isDown 当指定键被按下时返回True值
-isToggled 当指定键被锁定时返回True值
-LEFT 左方向键
-PGDN PageDown(PGDN)键
-PGUP PageUp(PGUP)键
-RIGHT 右方向键
-SHIFT Shift键
-SPACE 空格键
-TAB Tab键
-up 上方向键
+Math 数学函数
-abs abs(n) 取n的绝对值
-acos acos(n) n的反余弦(返回值单位:弧度)
-asin asin(n) n的反正弦(返回值单位:弧度)
-atan atan(n) n的反正切(返回值单位:弧度)
-atan2 atan2(x,y) 计算x/y的反正切
-ceil ceil(n) 取靠近n的上限的整数(向上取整)
-cos cos(n) 取n的余弦(n的单位:弧度)
-E Euler(欧拉) 指数(约为2.718)
-exp 指数
-floor floor(n) 取靠近n的下限整数(向下取整)
-LN10 ln10(约等于2.302)
-LN2 ln2(约等于0.693)
-log 取自然对数(e为底)
-LOG10E 以10为底,取E的对数(约等于0.434)
-LOG2E 以2 为底,取E 的对数(约等于1.443)
-max 返回两参数中的最大值
-min 返回两参数中的最小值
-PI 圆周率(约等于3.14159)
-pow pow(x,Y) x的y次方
-random 产生0-1间的随机数
-round 四舍五入取整
-sin sin(n) 取n的正弦(n的单位:弧度)
-sqrt 开根号
-SQRT1_2 0.5开根号(约等于0.7070)
-SQRT2 2开根号(约等于1.414)
-tan tan(n) 取n的正切(n的单位:弧度)
+MovieClip 电影剪辑
-attachMovie 绑定一个电影,产生一个库中电影剪辑的实例
-dupicateMovieClip 复制当前电影剪辑为新的电影剪辑
-getURL 使浏览器浏览指定页面
-gotoAndPlay 跳转到指定帧并播放
-gotoAndStop 跳转到指定帧并停止播放
-hitTest 测试一个点或者MC是否同另一个交叉
-loadMovie 导入一个外部电影到指定层
-loadVariables 导入外部文件中的变量值
-localTOGlobal
-nextFrame 下一帧
-prevFrame 前一帧
-removeMovieClip 删除用duplicateMovieClip创建的电影剪辑
-startDrag 开始拖动电影剪辑
-stopDrag 停止拖动电影剪辑
-unloadMovie 卸载由loadMovie导入的电影
+Mouse 鼠标
-hide 隐藏光标
-show 显示光标
+Number 数值
-MAX_value FLASH5 所允许的最大数值1.79769313486231 e 308
-MIN_value JLASH5 所允许的最小数值5e -324
-NaN 是否为非数值(Not a Number)
-NEGATIVE_INFINITY 是否为负数
-new Number 新建数值对象
-POSITVE_INFINITY 是否为正数
toString 将数值转换成字符串
+Object 对象
-new Object 新建对象
-toString 转换对象为字符串
-valueOf 返回对象的值
+Selection 选择区
-getBeginIndex 获取可编辑文本区的起始位置,-1表示无可编辑文本区
-getCareIndex 获取当前的编辑位置,-1表示没有可编辑文本区
-getEndIndex 获取可编辑文本区的结束位置,-1表示无可编辑文本区
-getFocus 获取当前的激活文本区
-setFocus 设置当前的激活文本区
-setSelection 设置可编辑文本的起始位置和终止位置
+Sound 声音
-sttachSound 绑定库中的一个声音
-getPan 获取声音的混音值
-getTransform 获取当前声音的变换量(返回值类型:sxform)
-getVolume 获取当前声音的音量(百分比)
-new sound 新建声音对象
-setPan 设置声音的混音值
-setTransform 设置当前声音 的变换量(参数类型:sxform)
-setVloume 设置当前声音的音量(百分比)
-start 开始播放当前声音
-stop 停止播放当前声音
+String 字符串
-charAt 在指定的索引表中返回一个字符
-charCodeAt 在指定的索引表中返回一个字符的代码
-conxat 联结全并多个字符串
-fro 电影剪辑harcodew从字符代码组构造出一个新的字符串
-indexOf 在字符串中寻找子串,返回子串起始位置或中-1(-1表示未找到)
-lastIndexOf 在字符串中寻找子串,返回子串终止位置或中-1(-1表示未找到)
-length 返回字符串的长度
-new String 新建字符串对象
-slice 返回字符串中指定截取的子串
-split 根据限定符将字符串转换成一个数组
-substr substr(start,length) 返回从start开始,共length长的子串
-substring substring(indexA,indexB) 返回indexA..indexB之间的子串
-toLowerCase 将字符串中的大写字符全部转换成小写
-toUpperCase 将字符串中的小写字符全部转换成大写
+XML 可扩充性标记语言
-appendChild 添加一个子节点到指定的XML元素
-attributes XML元素的属性数组
-childNodes 一个XML元素的子节点数组
-cloneNode 克隆(复制)当前节点
-createElement 新建一个新的XML元素
-createTextNode 新建一个新的XML文本节点
-firstChild 返回当前XML节点的第一个子节点
-hasChildNodes 当前XML节点是否有子节点(返回True有子节点/flash则无)
-insertBefore 在一个指定的XML元素的子节点前插入一个新的子节点
-lastChild 返回当前XML节点的最后一个子节点
-load 从指定的URL把XML元素导入FLASH中
-loaded 当XML元素导对象
-nextSibling 当前XML节点的下的一个节点
-nodeName 返回当前XML节点的名字
-nodeType 返回当前XML节点的类型(1-元素,3文本)
-nodevalue 返回当前XML节点的值(text型返回文本)
-onLoad 当导入或发送同时导入时触发事件
-parentNode 返回当前XML节点的父节点
-parseXML 将XML字符转换成XML对象
-previousSibling 当前XML节点的前一个节点
-removeNode 从XML文本中删除节点
-send 从Flash中把一个XML元素发送到指定的URL地址
-sendAndLoad 从Flash中把一个XML元素发送到指定的URL地址同时导入XML结果
-Status
-toString 把XML对象转换为XML字符串表达
-xmlDecl
+XMLSocket XML套接口
-close 关闭一个XML套接口
-cnnect 连接一个XML套接口,指定URL,并定义其端口号
-newXMLSocket 建立一个新的XML套接口
-onClose 关闭XML套接口时触发事件
-onConnect 连接XML套接口时触发事件
-onXML 从服务器上获取XML时触发事件
-send 发送XML给服务器
1.点语法
在ActionScript中,点(.)被用来指明与某个对象或电影剪辑相关的属性和方法.它也用于标识指向电影剪辑或
变量的目标路径.点语法表达式由对象或电影剪辑名开始,接着是一个点,最后是要指定的属性,方法或变量.例
如,_X电影剪辑属性指出编辑区中电影剪辑的X轴位置.表达式andy电影剪辑._x是指电影剪辑实例andy电影剪辑
的_X属性.
又例如,test1是在电影剪辑form中设置的一个变量,而form又是嵌套在电影剪辑cup中的电影剪辑.表达式cup.from.test1=true
的作用是设置实例form的submit变量的值为true.
表达一个对象或电影剪辑的方法遵循相同的模式.例如,testMovie电影剪辑的play方法移动testMovie的时间播
放头,就像下面的语句:
testMovie.play();
点语法使用两个特殊的别名:_root和_parent.别名_roof是指主时间轴.可以使用_roof别名创建一个绝对路径.
例如,下面的语句调用主时间轴中电影剪辑functions的builGameBoard函数:
_roof.functions.buildgameBoard();
可以用别名_parent引用嵌套当前电影剪辑的电影剪辑.也可以用_parent创建一个相对目标路径.例如,如果电影
剪辑dog被嵌套在电影剪辑animal之中,那么,在工作区符号dog上的下列语句告诉animal停止播放:
_parent.stop();
2.斜杠语法
FLASH3和4使用斜杠语法指出电影剪辑或变量的目标路径.FLASH5播放器仍然支持这种语法,但不推荐使用.在斜
杠语法中,斜杠被用来取代点,有以标明电影剪辑或变量的路径.要指出一个变量,可以在变量前加上冒号,如下
所示:
myMovieClip/childMovieClip:myVariable
可以用点语法取代上述斜杠语法表示的目标路径:
myMovieClip.childMovieClip.myVariable
斜杠语法在telltarget动作中使用最普遍,但这种动作在FLASH5中已不再推荐使用.
3.大括号
ActionScript语句用大括号({}分块,如下面的脚本所示:
on(release) {
myDate = new Date();
currenMonth=myDate.getMonth();
}
4.分号
ActionScript语句用分号结束,但如果省略语句结尾的分号,FLASH仍然可以成功地编译脚本.例如,下面的语句
用分号结束:
myDate=new Date();
currenMonth=myDate.getMonth();
同样的语句也可以不写分号:
myDate=new Date() currenMonth=myDate.getMonth();
5,圆括号
定义一个函数时,要把参数放在圆括号中:
function myFunction (name,age,reader) {
…
}
调用一个函数时,也要把要传递的参数放在圆括号中:
myFunction ("Steve",10,true);
圆括号也可以用来改变ActionScript的优先级,或使自己编写的ActionScript语句更容易阅读.
也可以用圆括号来计算点语法中点左边的表达式.例如,在下面的语句中,圆括号使表达式new color(this)得到
计算,并创建了一个新的颜色对象:
onClipEvent(enterFrame) {
(new Color(this).setRGB(0xffffff)};
}
6.字母的大小写
在ActionScript中,只有关键字区分大小写.对于其余的ActionScript,可以使用大写或小写字母.例如,下面的语
句是等价的:
cat.hilite=true;
CAT.hilite=true;
但是遵守一致的大小写约定是一个好的习惯.这样,在阅读ActionScript代码时更易于区分函数和变量的名字.如
果在书写关键字时没有使用正确的大小写,脚本将会出现错误.当在Action面板中启用彩色功能时,用正确的大小
写书写的关键字以蓝色显示.
7,注释
需要记住一个动作的作用时,可在Action面板中使用comment语句给帧或按扭动作添加注释.如果在协作环境中工
作或给别人提供范例,添加注释有助于别人对编写的脚本的理解.
在Action面板中选择comment(注释)动作时,字符//被插入到脚本中. 如果在创建脚本时加注释,即使是简单的脚
本也易于理解:
on(release) {
//建立新的日期对象
myDate=new Date();
currentMonth =myDate.getMonth();
//把用数字表示的月份转换为文字表示的月份
monthName=calcMonth(currentMonth);
year=myDate.getFullyear();
currentDate=myDate.gerDate();
}
在脚本窗口,注释内容用粉红色显示.它们的长度不限,且不影响导出文件的大小.
8.关键字
ActionScript保留一些单词,专用与一语言之中.因此,不能用这些保留字作为变量,函数或标签的名字.下面列出
了ActionScript中所有的关键字:
ActionScript中所有的关键字:break for new
var continue function
return void delete
if this while
else in typeof
with
要了解更多关于专用关键字的信息,请参阅ActionScript词典中相关的词条.
9.常数
常数是其值永不改变的属性.常数大写字母列于Action面板和ActionScript词典中.例如,常数BACKSPACE,ENTER,
QUOTE,RETURN,SPACE和TAB是key对象的属性,指键盘上的键.要测试用户是否在按Enter键,使用下面的语句:
if(keycode()==key.ENTER) {
alert="Are you ready to play?"
control电影剪辑.gotoAndStop(5);
}
回想从前,网络上动画的表现形式大概只有GIF。而GIF又有制作复杂与最高256色限制的缺点,不被广泛采用。Flash的横空出世,改变这一切,使网络这个动画世界便变得异常丰富多彩。你也想要制作出炫丽夺目的Flash动画?来吧,跟着小米试试从0开始Flash。
公欲善其事,必先利其器。首先,让我们选择一款适合自己的Flash制作利器。Adobe的LiveMotion虽然出自“名家”之手,但比较专业,使用的人不多。而Macromedia公司的Flash,容易上手,可以轻易制作出各种动画效果。就是它了,以后,小米将会以Macromedia Flash MX(以下简称Flash)为例,为大家揭开Flash制作之迷。
一、倒计时制作。
让我们从制作倒计时的例子开始,慢慢了解Flash的功能、特性以及动画制作过程。
打开Flash,它已经为我们新建了一个文件。但是,这个文件的大小、播放速度往往不符合我们的要求,所以,我们首先要对它进行调整。这时,我们就需要用到Modify(更改)菜单里的Document(文档)项。如图一。
大家还可以看到它的快捷键是Ctrl+J。菜单包括了Flash里几乎所有的操作。点击后,出现Document Properties(文档属性)对画框。如图二。
在这里,您可以对自己的动画进行适当的设置。我们把动画的长宽都设置为400px,背景色为黑色。把Frame Rate(播放速度)设置成1fps(1帧/秒)。
小米想对Frame Rate进行一下说明:我们把动画中一个个静止的画面称作为帧。而动画,就是根据视觉暂留的原理,由一个个的帧组成的。一般情况下,每秒播放的帧数越多,动画的连续性就越好,但同时,动画的容量也越大。在制作一般的Flash动画时,12fps是比较合适的,少于12fps,会给人不连接的感觉,多于12fps又会使动画体积增大。当然,也有特殊情况,例如,在制作倒计时的时候,由于对播放的连续性要求并不是很高,所以,为了尽量减小体积,小米把播放速度设置成了1fps。
按OK,一个背景为黑色、大小为400px*400px、播放速度为1fps的动画场景就建好了。为说明方便,在这里,小米把界面上的各个部分的名称标出,如图三。
首先,我们来画一个圆。第一步,把“描边色”设置成浅蓝色,背景色设置成无。接着,通过属性面版(底部的那个)设置线粗为4px。面板最需要的作用就是显示和设置属性。
选工具栏中的画圆工具。Flash中,基本图形,如矩形、圆的绘制工作,就可以交给工具栏来完成。然后,在工作区按下鼠标左键不放,拖动。咦?怎么不圆?不要放开鼠标,同时按下键盘上的Shift键试试?圆了吧。在Flash里,要画什么正的东东,像圆啊、正方形啦一类的,就需要用到Shift键。调整好大小,放开鼠标左键。如果觉得圆不够正中,还可以用选择工具(工具栏左上第一个工具)拖动,直到满意为止。
然后,我们选择工具栏中的文字工具。属性面板里,就出现了对文字属性的调整项。由于小米采用了800乘以600的分辨率,所以,有些文字属性选项显示不完整。这类问题,我们可以通过把属性栏“拖”出来来解决。把鼠标放到相应的面板左边,按住鼠标左键一“拖”,瞧,相应的属性栏就“浮”在了界面上。如图四。
不过,用完了以后可得记得放回去哟,要不然,过不了多久,你的操作界面就会变得凌乱不堪了。(这个跟理房间大概差不多:-)
然后,我们对文字进行设置。把字体设置成Arial Black,字号设置成96(最大),颜色为蓝色。如图五。(可以依据自己的喜好作合适的设置。)
在工作区内输入一个数字“1”。如图六。不够大?这个不是问题。因为这个“1”相当于一个矢量图形,可以无限放大或缩小而不影响其质量。
矢量图形区别于位图,它以图形的特征转化为数据信息保存于文件中,这就相当于知道了一个图形的解析式,在不改变精细程度的条件下,想把它作成多大的就可以作成多大。而位图则记录图形上每一个点所包含的颜色信息。极细小的点(红、绿、蓝)混在一起,就可以表现出各种图像。但由于你把图象放大时,点也会变大,所以,图像就会变得粗糙。如果你注意观察过路边的大型广告牌,你就会发现类似的现象了。
好了,用选择工具(左边第一个)点中要改变大小的对象——“1”字,点击工具栏上的自由变化工具(左边第六个)。出现了六个操作柄(空心矩形)。用鼠标点中其中一个操纵柄(注意,一定要点中哦),然后拖动,就可以自由改变图形的大小了。如图七。
这样子,一个帧就基本完成了。而小米前面说过,动画是由一个个帧组成的。那么,我们是不是马上建立第二、第三个帧……来形成动画呢?别急。在Flash里,通常把不同的对象(前面我们所画的一个圆是一个对象,“1”也是一个对象)转化成不同的”Symbol”(“符号”)。Flash中,符号共有图象、按钮和动画三种。而一个图形符号,就像是一张剪纸,它是独立的,你可以随意移动它,使之形成动画。当然,在制作倒计时,因为每帧都是独立的,所以,即使不把对象转换成符号也可以。但是,在自动有“移动”操作的动画时,把对象转换成符号就非常有必要了。符号还有可以反复利用等优点。所以,为了养成一个良好的习惯,我们还是把“1”转换成对象吧。而对于圆,相当于一个背景的作用,绝对不会有动画效果,也就没有必要转换了。
用选择工具选中“1”(出现矩形边框),用鼠标右击,选择“Covert to Symbol”(转换成符号)。在出现的窗口中,把“Name”(名称)设置成“Graph 1”,“Behavior”(本意为“行为”,在这里可以表示“类型”)中选择“Graphic”(图形),“Registration”(区域)是Flash MX里新增的一个功能,可以选择图形在符号中的位置,在这里我们选择居中,即点中中间的小矩形,使之反白显示,点“OK”。如图八。
咦?怎么没有变化?呵呵,其实变化是有的,仔细观察,“1”中心的空心圆里已经出现了一个“十”字。
倒计时当然不可以只有一个数字,我们要做一个从n到0的倒计时,就需要有n+1个符号,分别放0到n这n+1上数字。我们可以再利用上述方法制作好数字,然后转换。当然还有更快的方法。
令n=5,考虑到这六个数字有一定的相似性,我们可以通过复制符号来实现。这时,我们就需要用到一个叫“Library”(库)的“Panel”(面板),通过菜单“Window/Library”或者F11键可以打开库面板。这时,就可以看到刚才转换的“Graph 1”组件。用鼠标在“Graph 1”上右击,点击Duplicate(复制),如图九。然后,看到类似于图七的对话框,把名称设置成“Graph 0”“Graph 2”“Graph 3”……这时,所有图形符号里的内容都是一样的(那是当然的,要不然就不叫复制了:)。双击“Graph 0”左边的矩形图(注意不要点到文字,或者是改名操作)。工作区转到了符号编辑状态。然后,直接双击“1”,改成“0”,然后在反白区以外处点击。那么,我们要如何再恢复到Scene编辑状态呢?点击时间栏左下方的“Scene 1”即可。依次类推,完成Graph 2至Graph 5的制作。
好了,以上动画制作的准备工作,接着,我们就可以把这些素材做成一个个的帧,形成动画了。
首先,在“Layer 1”对应的时间栏第二帧上右击,选择“Insert Keyframe”(插入)关键帧。如图十。也可以把一到六帧全部都选中,然后按F6键。这时候,如果预览的话,只能看到一张“静止”的图象,因为每一个键的内容都是一样的。
选择第一帧,把工作区的“1”删掉。别担心,因为我们前面已经把它转换成了符号,所以,它仍然被保留在符号库里。把“Graph 5”从符号库里拖出来。我们希望把每个数字都放在场景的中心,一方面使之看起来中规中矩,另一方面,利于对齐。这时我们可以利用“Align Panel”(对齐面板)。点击菜单“Window/Align”,在出现的面板中,选中右边的“To stage”(相对于场景),然后分别点击第一、第二排的第二个按钮。用同样的方法,完成2至6帧的制作。
OK。按Ctrl+S,保存一下这个文件,然后按Ctrl+Enter进行预览。一个倒计时已经完成了。
小结:或许这个动画不是很高明,但小米想,最重要的是我们已经了解了动画是怎样产生的:一个个帧连续变化的帧,形成动画。如果我们让每一个帧里的东东位置稍微发生变化,就会让人感觉它移动起来了。这样的效果,我们将在今后的日子里逐渐接触。
回复Comments
作者:
{commentrecontent}