FLASH 2008-06-20 18:24:19 阅读58 评论0 字号:大中小
Action Script
基础知识
1. 所谓Action Script,2. 就是Flash中所使用的程序语法Script Language,3. 借着Action Script,4. 我们可以控制电影的播放、制作按钮、制作互动游戏以及其他特效。
5. Action Script 可完成的电影互动:
A. 播放及停止电影
B. 设置电影的播放品质
C. 停止播放任何声音文件
D. 跳转到不同E. 的URL
F. 跳转到特定的Frmae 或Screen
G. 检查某个特定的Frame是否被载入
H. 载入或取消载入额外的电影
I. 自定义鼠标J. 的指K. 针
L. 取得鼠标M. 的指N. 针位置
O. 取得键盘的按键值
P. 建立一块可卷动的文字块
Q. 设置颜色数值
R. 控制声音
S. 。。。。。。
6. 指7. 令编写环境(指8. 令面板——Action Panel)
A. 是我们撰写指B. 令的主要窗口
C. 打开
l F9
l 窗口>>动作
D. 标E. 题栏:根据动作对象的不同F. 性质而G. 随时发生改变
脚本定位栏:固定当前脚本对象;
命令提示/注释栏(可展开或折叠):对当前脚本加以简单说明;
命令参数设置区:对当前函数命令进行具体的参数设置
代码区:编辑或显示已编辑的脚本命令
工具箱清单:(九大项目)动作、运算符、函数、常量、属性、对象、否决的、Flash UI 组件、索引
H. 工作模式
l 专家模式
l 一般模式
I. 视图选项按钮
J. 状态栏
9. 编辑指10. 令
A. 一般说来,B. 指C. 令通常设置在按钮、关键帧或是电影剪辑之中。指D. 令设置位置的不同E. 将会影响到电影效果的产生。
F. 添加:
l 双击工具箱清单
l 视图选项按钮中的添加命令按钮
l 手动添加
11. 规划脚本,12. 应考虑:
A. 使用哪些动作
B. 如何建立脚本结构
C. 哪些地方使用脚本
13. Action Script 运行控制(行为)
A. 事件:用户使用鼠标B. 或键盘所进行的操作。On、OnClipEvent
C. 方法:用户在进行某个事件后机器作出的反应的整个过程。
14. 一段完整的指15. 令是由多个函数组成的。嵌套关系依次是:表达式、数据和运算符
★ “一段”是指一个完整的指令片段,即一段完整的指令,或一段函数。一般情况下用大括号“ { }”表示。另外,需要说明的是,指令中所以标点符号都必须是英文符号,且必须成对出现。 <详见语法部分>
A. 指B. 令(程序Actions):是一段用来表示电影在播放时要执行的某指C. 令的一段陈述式;
D. 表达式(Expressions):陈述式中任何一段会产生一个”值”的部分.由数据和运算符组成;可以是变量、文字、数值、运算符或是以上任何一种排列组合。
例:10+5 count + 3 x+y ……
E. 数据(Data):任何在电影中能够表达某中信息的量;
例:10 count 假 “我们都是中国人” ……
F. 运算符(Operators):将数据进行运算以取得新的值的方法.
例: count = 5 z = x * Y
16. 其他相关名17. 词术语
A. 电影剪辑(Movie Clip):在舞台上复B. 制的某个MC,它具有自身的相对独立的属性;
C. 关键字(Keywords)
l 关键字就是ActionScript在程序语言部分保留几个特效的字,l 这些字不l 能拿来当做变量、函数、帧等名l 称。
l 常见关键字:
Break / continue / delete/else / for / function / if / in / new / return / this / typeof / var / void / while / with……
D. 对象( Objects):是一群含有特殊属性的项目\集合,E. 每个对象都有其独特的名F. 称和值。
例: Date Mouse Sound MC Frame
G. 参数(Arguments):程序运行过程中,H. 在程序和函数之间进行数据传递的。
例: Function createmosquitos (count){
Var I ;
For ( I =1 ; I <= count ; I ++) {
_ root.attachmovie (“mosquito” , “mosquito “ + I , I );
}
}
这其中, count 就是起传递作用的参数值。
I. 属性(Properties):定义对象的属性
例: _Visible _rotation _x MC1._y
J. 目标K. 路径( Target Paths):是指L. 电影中电影剪辑实例的名M. 称、变量以及对象的分层结构地址。要控制某一个对象时,N. 必须要告诉主程序该对象所处的位置。主时间轴的地址名O. 称为” _root ”。目标P. 地址分为相对路径和绝对路径。
l 相对路径:指l 从当前位置开始引用对象
例: MC1.count = 5;
l 绝对路径:指l 从主时间轴开始引用对象
例: _root.MC1.count = 5;
有些指令必须要指定出目标路径后才能彻底执行。如:
duplicateMovieClip loadMovie loadVariables print printAsBitmap
removeMovieClip setProperty startDrag tellTarget unloadMovie
变量及数据类型
18. 不19. 管是哪种程序语言,20. 就学习程序这个过程而21. 言,22. 我们一般要了解的几个事项有以下三种:
A. 保存数据的方法
B. 评估数据的方法
C. 操作数据的方法
23. 就以上三个事项而24. 言,25. 程序给我们的解答是:
A. 变量(Variables)
B. 运算符(Operator)
C. 函数(Function)、表达式(Expression)、对象(Object)
26. 变量是什么
变量是用来暂存数据的,若将数值数据指定给变量,则该变量即为数值变量。变量的实体是主存储器,将数据指定给变量,也就是将数据存入主存储器中。
变量是会变更的内容。简单的说,变量就象个容器,主要是用来暂时存储任何数据类型的值。可以利用指令来自定义、取得或修正变量。
变量不但可以暂存各种不同的数据类型,更可以包含各种不同类型的值。
举例:服装店中的衣服,可以根据时令的改变而改变衣服的种类,也可根据店主资本的大小而改变其中衣服的种类、数量、档次等。这其中,服装店的名称没有发生变化,但是其中的衣服却一直根据店主的意愿而不断的改变内容及类型。
27. 变量的命名28. 规则与习惯
A. 变量名B. 称必须以英文字母开头
C. 变量名D. 称没有大小写的区分
E. 变量名F. 称中间不G. 能有空格
H. 除了底线” _ “符号外,变量名I. 称中不J. 能使用其他任何符号
K. 变量名L. 称不M. 能使用程序指N. 令中的关键字.
O. 变量名P. 称必须要具有一定的实在意义
29. 变量的范畴
变量的范畴指的是变量所能影响的范围.
A. 总体变量/全局变量(Global Variable)
l 总体变量是从电影开始到结束都被保留并可在不同l 时间轴上共同l 分享的,l 是属于保存较久的变量
l 声明总体变量: Action >> set Variables
B. 区域变量/局部变量(Local Variable)
l 区域变量指l 在指l 令被调用时才生效且一般常用于循环中的计数器。也就是说,l 区域变量不l 是在程序主体中使用,l 只是在某一个函数段中使用,l 当函数执行完后便失效。也不l 能在所声明的函数外使用。
l 声明区域变量:Action >> Var
30. 变量的内容值
内容值就是一个(组)数据或另一个变量。数据可以是几种不同的数据类型。常数(Constants)、数值(Number)、布尔值(Boolean)、字符串(String)、对象(Object)、电影剪辑(MovieClip)或是空白(Null)。
31. 数据类型
Action Script 数据类型基本上可以分为原始型数据和参考型数据良种类型。原始型数据指的是数值、布尔值、字符串等类型。
A. 常数或常量:指B. 的是绝对不C. 变的属性元素。通常在比较值(if)的时候非常有用的。如Backspace , Enter , Return , Space 这些是键盘对象Key的专用属性,D. 是用来代表键盘上的特殊键。他们的值永远不E. 变!
例: if (keycode() = = Key.Enter){
Alert = “准备开始计时了吗?”
readytogoMC.gotoAndStop ( 5 );
}
F. 数值:任何一个数值,G. 没有字母也没有其他的符号。由0~9十个阿拉伯数字组成。
l 正数 例: age = 12;
l 负数 x = -32+15;
l 整数 whole = Int ( 47/3); whole = 15
l 浮点数 whole = 47/3 whole =15.6666
H. 布尔值:布尔值只有两个结果,I. 真(True)、假(False)
例: bigger = 9<10; bigger = True
如果给这段指令加上新的指令 total = bigger + 3;
那么此时变量 total 的结果则应该为 4 ,因为bigger = 1
在程序语言设计中,规定:True = 1 False = 0
J. 字符串:在程序中,K. 字符串最常被用来显示信息,L. 它可以是任何数字或字符或两者的组合,而M. 且一定要用双引号将内容包起来。
例: address = “360 11st Street”
在这个例子中,变量address 只有一个值。
N. 空白:所谓空白指O. 的是变量中没有设置任何值,P. 也就是内容值为空。通常用来判断循环中的变量是否已经执行。
例: do {
If (“button” + t = = “” ) {
Eof = 1
}
}while ( eof < 1);
Q. 电影剪辑:在Action Script中,R. 电影剪辑也是数据类型的一种。与其他类型的数据类型不同S. 的是,T. 电影剪辑角色的数据可以是一串指U. 令,V. 也可以是图形。如同W. 一个数组一般。电影剪辑一般用来当目标X. 路径,Y. 以方便执行某种指Z. 令。
例: _root.plane.stop()
运算符号
所谓的运算符号,主要是用来决定变量中的内容在表达式中,应该如何被评估。运算符号的选用与参加运算的数据的类型相关。由此我们可以把运算符号分为如下几种类型。但是值得注意的是,运算符号的分类不是绝对的。
32. 数值运算符号:进行数值的运算。
列举:
符号 说明 举例
+ 相加 Scroe = 90 + 86
— 相减 Scroe = 100 – 16
* 相乘。
如果两个数值都是整数,其积就是整数。但如果其中之一或两个数值都是非整数,其运算结果便是浮点数。 X = 10 * 2 x = = 20
Y = 1.0 * 2 y = =2.0
/ 相除 Pj = 488/5 pj = =97.6
% 余数(取余) Pj = 488%5 pj = = 3
+ + 向前或向后递增 X + + x = x=1
— — 向前或向后递减
= = 相等。是 != 运算符号的反运算符号
! = 不相等.
= 赋值
33. 比较运算符号:主要在对比表达式的值后,34. 返回布尔值。这些运算符号大多用在循环及条件陈述式中。
列举:
符号 说明 举例
> 大于。
如果是比较字符串则是依据字符串中字母的值来取得比较结果。 X = 9 > 10;
< 小于。 Y = 9 < 10;
> = 大于等于。不小于
< = 小于等于。不大于
例: 假设a 是John 的年龄,而 b 是Mike 的年龄。如果a 等于 b ,则ab 是双胞胎兄弟;如果 a > b ,则 a 是哥哥;但如果a < b ,那么b 就是哥哥。
if ( a = = b) {
trace ( “ab 是双胞胎兄弟”);
} else if ( a > b ) {
Trace ( “ a 是哥哥“);
} else if ( a < b ) {
Trace ( “b 是哥哥”);
}
35. 逻辑运算符号
逻辑运算符号是用来比较布尔值(True or False)后,并返回第三个布尔值。基本说来逻辑运算符号有三个:and(&&) or ( || ) not( ! )
符号 说明
&& 逻辑与(And)。必须两者都为真才成立。
| | 逻辑或(Or)。只要两者中某一者或两者皆为真就成立。
! 逻辑非(Not)。如果test是绝对为真,那么,test的值则会变成假。
&&逻辑与(And)
例:
如果今天是周六,同时也是本月的第一个礼拜,那么John就会举行一次Party。
Today = “Saturday”;
Week = “ Firstweek” ;
If ((today = = “Saturday” ) && (week = = “firstweek”)){
Message = “ 今天John 举行Party 。”;
}
逻辑与的几种可能性:
条件1 && 条件2 =结果
F F F
F T F
T F F
T T T
| | 逻辑或(Or)
例:
如果今天下雨,或者今天工作太累,那么今天就不打网球了!
Weather = “ sunny”;
Work = “ exhausting”;
If (( weather = = “raining”) | | (work = = “exhausting”)) {
Message = “ 今天不打网球了” ;
}
逻辑或的几种可能性:(略)
! 逻辑非(Not)
例:
如果你的高考成绩不能上线,那你肯定不能被录取。
Scroe = “ 上线 “;
If ( ! scroe ) {
Trace ( “ 很抱歉,你没有被录取!”);
}
逻辑非的几种可能性:(略)
36. 字符串运算符号
符号 说明
“” 所有的字符串都必须包含在两个引号中
Add 字符串相加
Eq 字符串相等
Ne 字符串不等
It 字符串小于
Gt 字符串大于
Le 字符串小于等于
ge 字符串大于等于
例:
input = “ John”;
usename = “Joey”;
if ( input eq usename) {
output = “welcome back “;
} else {
output = “ Access denied”;
}
在这个例子中,判断了两个字符串是否相等.我们还可以利用这些字符串进行运算。字符串的运算,先取得字符串中每一项的第一个字符,再按照每一个字符在ASCII码表中的数值来决定的。在比较的过程中,字符的大小写与其ASCII 值是有关的。也就是说,大写的”A”与小写的”a”的值是不一样的,前者为65,后者等于97。另外,字符串的相连可以用运算符号add 也可以用 符号” + “,而且也可以与其他数据类型混合运算。
例:str1 = “Number”;
Str2 = “ is a string now“;
Str3=str1 + 22 + str2;
那么:str3 = “Number 22 is a string now”
例:high = “orange”;
Low = “Grapefruit”;
If (high > low) {
Output =”that’s correct”;
}
37. 位运算符号:所谓的位运算,38. 是用来处理浮点数的。基本上,39. 所有的浮点数都会被转换为32位的整数。比较适合在Flash 4中撰写指40. 令。
具体符号 略
41. 混合指42. 定运算符号:混合运算是将几个运算组合起来的一种运算方法。
符号 说明
| =
& =
+ =
- =
% =
/ =
43. 运算符号的优先顺序
在一个陈述式中,使用两个或两个以上的运算符号的时候,某些运算符号会比其他的运算符号要有更高的优先权。在有括号的时候,括号会改变运算符号的优先级别。
一般情况下,Action Script 的运算符号的优先级别和正常的数学运算符号级别一样。只有少数符号需要特别注意。赋值运算符号级别最低。
另:注意各运算符号的组合顺序。
符号 最高优先权 符号 最高优先权
It 左到右 ! = 左到右
Le 左到右 = = 左到右
Gt 左到右 ( ) 左到右
Ge 左到右 [ ] 左到右
Eq 左到右 * 左到右
Ne 左到右 / 左到右
And 左到右 < 左到右
&& 左到右 <= 左到右
| | 左到右 > 左到右
Or 左到右 >= 左到右
+ 右到左 + + 右到左 / 左到右
- 右到左 - - 右到左 / 左到右
= 右到左
函数(function)
44. 所谓的函数,45. 一般都是用来定义一组可以被重复46. 使用的程序代码段。可以是软件内置函数,47. 也可以是用户自定义的复48. 杂程序代码以执行某个特殊任务。在主程序中,49. 通过函数名50. 称来调用某个函数,51. 将主程序中的数据传递给函数,52. 在运行完成之后返回函数运算结果给主程序。
53. 函数的语法:
函数名(参数值)
对象
54. 只要是一组含有属性的项目就可以作为一个对象。
55. 常见的内置对象有:
array 数组对象
color 颜色对象
Date 日期对象
Math 数学对象
使用Action Script 语法
任何一种语言都有自己的语法规则,也就是表述某种意思的表达方法,以确定使用哪些字符和单词来创建脚本以及按什么顺序来编写。
56. 点语法
A. 点被用来指B. 示和对象或电影剪辑相关连的属性或方法。也可以用来识别电影剪辑、变量、函数或对象的目标C. 路径。
同D. 时点又是运算符,E. 在左边使用对象的名F. 称,G. 在右面使用属性或变量的名H. 称。属性或变量名I. 称不J. 能是从字符串获取的字符或变量,而K. 必须是标L. 识符。
例:year.month=”June”; year.month.day=9;
57. 大括号
A. 用一对大括号组合在一起,B. 形成一个代码块。
例:on(release){
myDate=new Date( );
currentMonth=mydate.getMonth( );
}
58. 分号
A. Action Script 语句使用分号作为结束。当然如果忽略了分号,B. 也能正确编译脚本,C. 只要不D. 是在同E. 一行中。
59. 圆括号
A. 定义函数时,B. 所有参数都放在圆括号中。另外,C. 圆括号还可以改变运算顺序。还可以在点的左边使用圆括号获取表达式的值。
例:(new Color(this)).setRGB(0xff0000);
60. 大小写字母
A. 在Action Script中,B. 只有关键字是区分大小写的,C. 其他则无所谓。
61. 批注
62. 关键字d
评论