第三部分 交互动画
3.1脚本基本知识
3.2交互动画技术1影片播放控制 3.3交互动画技术1文本交互 3.4交互动画技术2影片剪辑控制 3.5交互动画技术3鼠标交互 3.6交互动画技术4日期时间 3.7交互动画技术7随机复制 3.8交互动画技术8数学计算 3.9交互动画技术3声音控制
3.1ActionScript基础知识
知识点1:ActionScript的编写环境
“动作面板”是flash提供的用户编写ActionScript脚本的工具。单击“窗口”|“动作”命令或按F9可以打开“动作面板”。动作面板包括四个组成部分:
(1)脚本元素列表区
按类别对ActionScript元素进行分组,可以通过双击或直接拖动的方式将所选元素插入到脚本窗格中。
动作:在脚本中插入动作语句
运算符:包含了可在语句中使用的运算符
函数:包含了可在语句中使用的函数 常量:包含了可在语句中使用的常量
属性:包含了可在语句中使用的属性
对象:包含了可在脚本中使用的的对象及其属性、事件、方法列表 否决的:早期版本中使用的函数等,较少使用
Flash UI组件:包含了可在脚本中使用的Flash UI(用户界面)组件及其属性、事件和方法列表。
(2)脚本编辑区
可以在该窗格中输入ActionScript代码
(3)参数设置区
工具栏中包含了各种代码编写辅助功能,这些功能可以简化代码编写工作。ActionScript代码的编写有两种方式专家模式和标准模式,通过脚本助手可以切换编写模式。
1
实例1:对象是否可见 on (release) { }
_root.my_mc._visible=false;
bt1_btn.onRelease = function() { }
_root.my_mc._visible=false;
实例2:拖动对象
方法一:加到影片剪辑上 on (press) { this.startDrag(); }
on(release){ this.stopDrag(); }
方法二:加到帧上 ball.onPress=function() { ball.startDrag();
}
ball.onRelease=function() { stopDrag();
知识点2:ActionScript基本语法 1. 脚本的存放位置
用户在编写脚本时,既可以为关键帧、按钮实例和影片剪辑分别编写,也可以将这些脚本集中编写,统一附加到一个或多个关键帧、按钮实例或影片剪辑实例中。在集中编写时,如果所操作的对象不是当前对象,则必须指明对象。
2. 脚本的执行方式与活动时间段
如果脚本被附加到某个图层的关键帧上,则在首次运行动画时,只有在执行到该关键帧后脚本才被激活,并且此后该脚本将始终在其活动期间有效。脚本活动时间为脚本在该层动画的结束帧。
3. 理解对象、属性、事件、方法、动作与事件句柄
2
Flash MX的ActionScript是一种面向对象的程序设计语言,也就是说,所有程序都是围绕对象编写的。对象有属性、事件和方法。对象属性通常用于定义对象的外观,如坐标、大小、颜色、是否可见等。
对象的种类:
在ActionScritpt中,对象主要包括:
? 指关键帧、按钮实例与影片剪辑实例。其中对于影片剪辑实例和按钮实例可以用库
面板创建,也可以用脚本创建。
on(release){
_root.attachmovie(\
}
? 使用new操作符创建对象实例后才能使用的内置对象。如Sound(); ? 第3类对象被称为顶层对象,如Math。
? 第4类对象主要包括各种数据容器,如数组、字符串变量。
对象事件是指与对象相关的操作。事件可以分为:鼠标键盘事件、影片剪辑事件和帧事件。例如与影片剪辑相关的事件包括onEnterFrame(进入每帧时都发生该事件)、onKeyDown(按键时发生该事件)、onLoad(加载影片剪辑时发生该事件);与按钮相关的事件包括:onRelease,onPress等。
为使应用程序能够对事件作出反应,必须使用事件处理函数。事件处理函数是用于与特定对象和事件关联的脚本代码。事件处理函数主要有两种:“on()”用于处理按钮事件;“onClipEvent()”用于处理影片剪辑事件。
对象方法是指隶属于对象的一组子程序。例如,与影片剪辑相关的方法包括:attachMovie(根据库符号创建影片剪辑实例)、loadMovie(用于从某个URL地址加载SWF文件到影片剪辑)和play(从当前帧播放影片剪辑)等。
由于ActionScript中对象的种类非常多,因此这些对象的特点也有所不同,某些对象只有方法(如Date对象),某些对象还有常量(如Math),除按钮实例和影片剪辑实例以外的大多数对象都没有事件等。
4. 动作
所谓动作是指操作对象的一组命令,例如,与影片剪辑相关的动作有play(播放影片),stop(停止播放影片)等。
5. 动作与方法之间的异同 动作和方法非常类似,其作用也基本相同,只是使用的格式不同。大部分动作都有对应的方法。例如,例2中的this.startDrag()可以改为:
on (press) { startDrag(this);
}
6. 使用对象事件和事件句柄
使用对象事件,有两种方法:一种是使用事件句柄,另一种使用事件句柄方法。 按钮和影片剪辑作为对象都包含动作和事件。按钮动作on句柄引出,影片剪辑动作用onClipEvent两种句柄引出。
7. 使用和设置对象属性
应用方法:对象名称.属性名称=属性数值 onClipEvent(mouseDown){ _with=200; _height=200
3
}
8. 使用对象方法
应用方法:对象名称.方法名称 9. 代码提示与对象命名
在专家模式下,利用代码提示可辅助设置参数、属性与事件;在标准模式下,利用代码提示可辅助设置参数与属性。
在下面三种情况下,系统自动弹出代码提示:
? 在对象名称后输入“(”后。 ? 在对象名称后输入“.”后。 ? 在事件句柄后输入“(”后。
如果希望“动作”控制面板为对象实例显示代码提示,用户应该为每个实例名称增加一个特殊后缀。
影片剪辑 声音 按钮 字符串 10. 区分大小写 ActionScript区分大小写,但在对变量或标识符命名时要避免用大小写的不同来区别不同的变量或标识符。否则,可能会导致意想不到的错误。
11. 点语法
可以用点语法访问舞台中对象或实例的属性或方法。点语法表达式以对象或实例名称开头,后面跟着一个“.”,最后以要指定的属性、方法或变量等结尾。如:my_mc.play();
12. 目标路径 Flash动画中的对象具有层级结构,在使用代码控制对象时,需要指定对象的名称及其地址,这种在层级关系中表现对象位置的方法称为目标路径,指定对象的目标路径可以使用点语法。如:myclip.myotherclip.stop();
13. 分号“;”
语句的结束符,可以省略
14. 冒号“:”
为变量指定数据类型。例:var mydate:Date = new Date(); 15. 注释
使用简单易懂的句子对代码进行注解。单行注释(//);多行注释(/* */) 16. 常数
常数据用固定值的属性,一般用大写字母表示。ActionScript语言包含多个预定义的常数。例如:BACKSPACE、ENTER、SPACE、TAB等常数是key类的属性,指代键盘的按键。
If(Key.getCode==Key.ENTER){
alert=”Are you ready to play?”; controlMc.gotoAndStop(5); }
17. 关键字
关键字是ActionScript中用户执行某项特定的操作的单词,是具有特定含义的保留字。例如var关键字用于声明变量。关键字不能用作变量名、函数名等。
ActionScript的关键字
4
_mc _sound _btn _str