第 9章 ActionScript基础本章要点
变量与函数
常用语句
调试程序本章逻辑结构
9.1 变量与函数
9.1.1 变量
9.1.2 变量命名规则
9.1.3 变量定义与作用域
9.1.4 运算符和表达式
9.1.5 函数本章逻辑结构
9.2 Flash编程基础
9.2.1 动作面板
9.2.2 ActionScript基本语法规则
9.2.3 事件
9.2.4 动作
9.3 控制电影动作
9.3.1 play语句
9.3.2 stop语句
9.3.3 gotoAndPlay语句
9.3.4 gotoAndStop语句
9.3.5 tellTarget语句
9.4 条件控制语句
9.4.1 if语句
9.4.2 while语句
9.4.3 for语句
9.5 调试程序
9.5.1 编程习惯
9.5.2 推荐的编程方案
9.5.3 调试程序
9.1 变量与函数本节介绍有关变量、函数、表达式及运算符等内容。
9.1.1 变量在 Flash MX中变量有以下几种类型:
字符型( String):
数值型( Number):
逻辑型( Boolean):
对象型( Object):
影片剪辑型( Movieclip):
未定义型( Undefined):
9.1.2 变量命名规则变量的命名规则:
变量名必须以字母或下划线开头,由字母、数字和下划线组成,中间不允许有空格。变量名不区分大小写。
变量名不能是一个关键字或逻辑常量(如 true
或 false),关键字都是小写形式。
程序中可以大小写混用,但是建议区分大小写来定义变量,并且尽量使用具有一定含义的变量名。
变量名在其作用范围内必须是惟一的。
在使用变量时,应遵循“先定义后使用”的原则。
在编辑变量时,还应该注意以下几点:
避免使用空格、句号或一些特殊的字符来标识一个变量。
在定义变量或对象时要使用独立的名字。
使用系统信息来表示一个变量名,或者使用变量的作用范围来表示一个变量名。
使用多个单词描述一个变量。
使用 var或 set variable来声明一个变量。
使用独立的注释文件,解释说明变量名字的含义。
9.1.3 变量定义与作用域下面介绍变量定义、变量类型以及变量作用域的内容。
一、变量定义变量按其作用范围,可以分为全局变量( Global)
和局部变量( Local),两种变量的定义方法也是不同的。
定义全局变量的语法格式如下:
变量名 =表达式 ;
set(变量名,表达式) ;
可以在定义变量时给变量赋值,例如下面的语句定义变量 A1,并为其赋值 20。
A1=20;
set( "A1",20) ;
常使用 var变量来定义局部变量,其语法格式如下:
var变量名;
var变量名 =表达式二、变量作用域下面介绍有关变量作用域的内容,具体如下:
使用 var语句能在脚本内部声明局部变量,局部变量的值只能在代码段内部被改变。
使用 set variable语句或者直接使用,=”运算符来声明一个全局变量,两者的效果是一样的。
全局变量的作用范围是这个变量所在的主场景或符号的时间轴,如果需要调用其他符号的变量,可以使用点运算符。
9.1.4 运算符和表达式一、运算符和表达式可以使用的算术运算符有以下几种。
+:执行加法运算。
-:执行减法运算。
*:执行乘法运算。
/:执行除法运算。
=:比较两个数值是否相等。
<>:比较两个数值是否不相等。
<:比较运算符前面的数值是否小于后面的数值。
>:比较运算符前面的数值是否大于后面的数值。
<=:比较运算符前面的数值是否小于或等于后面的数值。
>=:比较运算符前面的数值是否大于或等于后面的数值。
可以参与字符串表达式的运算符:
&:连接运算符两边的字符串。
Eq:判断运算符两边的字符串是否相等。
Ne:判断运算符两边的字符串是否不等。
Lt:判断运算符左边字符串的 ASCII码是否小于右边字符串的 ASCII码。
Qt:判断运算符左边字符串的 ASCII码是否大于右边字符串的 ASCII码。
Le:判断运算符左边字符串的 ASCII码是否小于或等于右边字符串的 ASCII码。
Qe:判断运算符左边字符串的 ASCII码是否大于或等于右边字符串的 ASCII码。
可以参与逻辑表达式的运算符有以下三个:
And:执行逻辑与运算。
Or:执行逻辑或运算。
Not:执行逻辑非运算。
二、运算符的使用使用运算符时,应注意下面的问题:
在一个表达式中使用多个运算符时,必须遵循一定的规则。
在运算过程中,如果运算符的优先级别相同,
则从左到右进行计算。而赋值表达式是从右向左进行计算。
在一个表达式中,在运算时要确定每一个运算符执行的先后顺序。
9.1.5 函数一、函数简介函数是用来对常量、变量进行某种运算的方法,
它是完成一些特定任务的程序。函数是每一种编程语言的基本组成部分。
二、内置函数经常用到的内置函数,主要有以下几个:
表达式( Boolean):
字符串( escape):
变量、字符串或表达式( eval):
updateAfterEvent( ):
– mousemove:
– mousedown:
– mouseup:
– keydown:
– keyup:
int(number):
keycode( ),
maxscroll:
newline:
Number(表达式):
parseFloat(字符串):
parseInt(string,radix):
random(number):
scroll:
String(表达式):
targetPath( movieClip):
unescape(字符串):
9.2 Flash编程基础在 Flash中,编写程序不可缺少的内容主要有事件、动作和对象。
9.2.1 动作面板在 Flash MX中,所有的动作都要在 【 动作 】 面板中完成,【 动作 】 面板如图所示。
打开 【 动作 】 面板的方法:在舞台中选中要添加动作的帧或对象,单击鼠标右键,从弹出的快捷菜单中选择 【 动作 】 命令。
在动作面板中间按钮和组件介绍:
加入新动作,
删除所选动作,
查找,
替换,
插入目标路径,
调试选项,
视图选项,
向下移动,
向上移动,
指令集:
当前动作简介:
9.2.2 ActionScript基本语法规则
一、点语法
二、大括号
三、分号
四、字母的大小写
五、圆括号
六、关键字
七、注释
9.2.3 事件在 Flash中,将任何导致动作发生的事情都称为事件。事件包括两类:鼠标事件和帧事件。
一、定义按钮事件如果要定义按钮事件,可以进行如下操作:
1、如果已经创建了一个按钮,并且已经将其拖动到了工作区。这时可以在工作区中右键单击按钮符号,从弹出的快捷菜单中选择 【 动作 】 命令,打开如图所示的动作面板。
2、单击 【 动作 】 指令集,然后单击它下面的
【 影片控制 】 指令集,双击 【 on】,这时该语句就会显示在右侧的动作编辑区中,
如图所示。
3、在上面的参数区中选择某一项事件,为按钮指定鼠标事件的类型。鼠标事件一共有 8大类,其中 【 按键( Key Press) 】 包括键盘事件 15类。
着重介绍鼠标事件的几种类型:
按下:
释放:
外部释放( Release Outside):
滑过( Roll Over):
滑离( Roll Out):
拖过( Drag Over)
拖离( Drag Out):
按键:
二、定义影片剪辑的鼠标事件如果要定义影片剪辑的鼠标事件,可以进行下面的操作:
1、在舞台中右键单击影片剪辑(即影片剪辑符号)的实例,从中选择 【 动作 】 命令,
打开 【 动作 】 面板。
2、在该面板左侧的指令集中单击 【 影片剪辑控制( Movie Clip Con… ) 】 指令,从它的子指令集中选择 【 onClipEvent】,如图所示。
3、双击此语句,它就会出现在右侧的语句栏中,
并且在下面的列表框中可以指定鼠标事件的类型,如图所示。
4、在此列表框中双击某一项,就可以指定影片剪辑的鼠标事件类型,这时的语句栏如图所示。
三、帧事件下面以前面制作完成的一个动画来介绍通过帧事件控制动画的方法。操作步骤如下:
1、打开第 4章制作完成的例子“变形动画”,它的效果如图所示。
2、选中该动画的最后一帧,单击鼠标右键,
从弹出的快捷菜单中选择 【 动作 】 命令,
如图所示。这时会打开动作面板。
3、在左侧的指令集中选择 stop语句,双击将其放置到右侧的动作编辑区中,如图所示。
4、按 【 Ctrl+Enter】 组合键,测试动画。
9.2.4 动作动作是 ActionScript语句或命令。
9.3 控制电影动作控制动画最典型的内容是 【 play 】 和 【 stop】
9.3.1 play语句
语法结构为 play( ),该语句没有参数,它的作用是使动画开始播放。
下面一段代码将检查浏览器输入的用户名,如果用户名为 Jacky,开始播放动画,如果不是,则将不会播放以后的动画,并发出文本框警告。
stop();
if (name:="Jacky"){
play();
}else{
alert="You are not from downme.com";
}
9.3.2 stop语句
使用此语句可以停止当前播放的动画,主要用于控制动画播放的按钮。
该语句的语法结构为 stop( ),没有参数。
9.3.3 gotoAndPlay语句
该语句的作用是将播放指针指向特定的场景和帧,从此开始播放,如果场景没有被指定,则播放指针指向当前场景的特定帧。
该语句的语法结构为:
gotoAndPlay(scene,frame),其中的 【 scene】
指的是要跳转到并播放的场景名称,【 frame】
指的是要跳到并播放的帧动作。
9.3.4 gotoAndStop语句
此语句的作用是当播放到指向特定的场景和帧时,
停止动画的播放。如果没有指定场景,则停止指针将指向当前场景的特定帧。
该语句的语法结构是:
gotoAndStop(scene,frame),其中的 【 scene】
和 【 frame】 表示的含义同 gotoAndPlay语句的作用一样。
9.3.5 tellTarget语句该语句的作用是将所包含的动作应用到所指定的目标实体上。
9.4 条件控制语句在 Flash MX中有三种不同类型的条件控制语句:
是 if语句
while语句
for语句
9.4.1 if语句
if语句的语法如下:
if(Condition){
}
通常将 if语句与 else语句一起使用。
if语句的使用方法:
在要添加条件语句的关键帧或按钮上单击鼠标右键,从弹出的快捷菜单中选择 【 动作 】 命令,
打开动作面板。
在左侧的动作指令集中选择 【 条件 /循环
(Conditions/Loops)】 指令,然后在它下面的指令中选择 【 if】,如图所示。
双击此命令,将它添加到右侧的语句栏中。这时在面板中会出现该语句的一个条件 【 条件
( Condition) 】 参数,如下页图所示。
可以在 if语句后指定动作。指定了动作后,在左侧的指令集中双击 else语句。然后再指定动作 2要执行的语句。
9.4.2 while语句
while语句的语法结构如下:
while(condition){
执行动作
}
此语句的作用是,当满足 【 条件 】 所要求的条件时,就执行下面的动作。此语句的使用方法同前面介绍的一样。
9.4.3 for语句
for语句的语法结构如下:
for(init;condition;next){
执行的语句;
}
init是一个在循环开始之前进行求值的表达式,
通常是一个赋值表达式。
【 条件 】 是一个用来判断是真还是假的表达式,
这个判断在每次循环之前都进行一次,当此判断的结果为假时,循环结束并跳出
next是一个在每次反复循环时求值的表达式,
通常是一个使用 ++(自增)或 --(自减)操作符的表达式。
9.5 调试程序
9.5.1 编程习惯主要包括以下几点:
在制作动画时,经常对动画进行保存,还可以将动画按不同时间另外保存。
在发布动画时,应该尽可能多地测试动画。
在尽可能多的浏览器和系统平台上测试动画。
9.5.2 推荐的编程方案下面推荐几种好的编程方案,具体如下:
1、使用 trace指令将注释信息传递到 【 输出 】 窗口上。
2、多使用 comment语句注释语句。
3、使用良好的变量、对象命名方案。
4、使用动态文本框显示变量的值,或者使用
【 调试器 】 面板显示变量的值。
9.5.3 调试程序一、在动画编辑模式下测试动画单击 【 控制 】 【 启用简单帧动作( Enable
Simple Frame Actions) 】 命令,可以对帧脚本在动画编辑模式下进行测试。如果单击 【 控制 】
【 启用简单按钮( Enable Simple Buttons) 】 命令,可以对按钮在动画编辑模式下进行测试。
二、在测试模式下测试动画在 【 控制 】 菜单下有三个命令,【 测试影片 】,
【 调试影片 】 和 【 测试场景 】 。使用这三个命令中的任何一个都可以进入动画测试界面。执行 【 调试影片 】 命令会弹出如图所示的 【 调试器 】 对话框。
习题(九)
选择题
1,我们在编写程序时,经常用到的内容有
( )。
A,事件
B,对象
C,响应
D,条件
ABC
2、我们在 Flash中用到的事件包括( )两种。
A,鼠标事件
B,帧事件
C,键盘事件
AB
3,在 Flash中,条件控制语句有( )。
A,if语句
B,while语句
C,for语句
D,with语句
ABC
4、使用( )命令可以使动画进入测试模式
A,【 测试影片 】
B,【 测试场景 】
C,【 调试影片 】
D,【 文件 】 【 发布预览 】 【 Flash】
ABCD
5、在程序运行过程中可以改变其值的参量,我们称为( )。
A,常量
B,局部变量
C,全局变量
D,变量
D
判断题
1、使用 Flash中的动作语句可以制作出许多具有交互性的动画。 ( )
2、在 Flash中,只有关键帧可以分配动作,而普通帧和空白帧不可以分配动作。( )


3,play( )和 stop( )都是用来控制动画的播放动作的,它们都可以使用参数。 ( )
4,gotoAndPaly(scene,frame)语句表示将动画转到指定场景中并且播放指定的帧。 ( )
5、我们可以在 Flash中自定义需要的函数和变量。 ( )√

×
实践练习
1、为了让动画播放结束后不再重新开始播放,
而是在最后一帧停止,应该如何修改动画?
2、为一个漂亮的动画添加播放、重播和停止按钮,实现动画的交互。