《flash动作脚本从入门开始 (3)》由会员分享,可在线阅读,更多相关《flash动作脚本从入门开始 (3)(51页珍藏版)》请在金锄头文库上搜索。
1、第七章flash动画脚本基础 7 1动作面板简介 演示说明 7 2常用术语 动作在播放SWF文件时指示SWF文件执行某些任务的语句 例如 start stop 等 事件在很多情况下 动作不会独立执行 而是要提供一定的条件 就是要有一定的事情对该动作进行触发 才会执行这个动作 其触发作用的事情在ActionScript中称为事件 例如 鼠标的移动 按下与放开 键盘上某键的敲击等 对象是属性和方法的集合 每个对象都有各自的名称 并且都是特定类的实例 类一系列相互之间有关联的数据的集合称为一个类 属性用于定义对象的特性 例如 visible用于定义影片剪辑是否可见 所有影片剪辑都有此属性 方法被指派
2、给某一个对象的函数 在一个函数被指派给一个对象后 它便可以作为这个对象的一个方法调用 对象命名规则图表 函数是可以向其传递参数并能够返回值的可重复使用的代码块 实例属于某个类的对象 一个类可以产生很多个属于这个类的实例 类的每个实例均包含该类的所有属性和方法 例如 所有影片剪辑都是MovieClip类的实例 他们都有诸如 visible alpha这样的属性 以及gotoAndPlay 和getURL 这样的方法 变量是用来存储信息的存储器 脚本程序中的变量可以保存所有类型的数据 包括字符串 数值 布尔值 true或false 等 常量也称为常数 和变量相对应 在程序编写过程中不能被改变 常用
3、于数值的比较 关键字是有特殊含义的保留字 不能使用关键字作为标识符 7 3Flash编程基础 在flash中 编写程序不可缺少的内容主要有事件 动作和对象 例如下面的语句 on press gotoAndplay scene1 1 但并不是所有的语句都具备这三个因素 一些语句可以只具有其中的一个或几个因素 7 4ActionScript基本语法规则 一 点语法在ASP中 点 被用来指明与某个对象或影片剪辑相关的属性和方法 也用于标识指向影片剪辑或变量的目标路径 点语法表达式由对象或影片剪辑实例名开始 接着是一个点 最后是要指定的属性 方法或变量 例如 dog alpha 表示调用对象dog的
4、alpha属性 再例如 要使舞台上的实例 bird 移动到第24帧并停止在那里 可以使用以下程序 bird gotoAndstop 24 二 大括号 在ASP中 用 把程序分成一块一块的模块 可以把括号中的代码看做一句完整的表达 例如 on press gotoAndplay scene1 1 三 分号和小括号 分号 在ASP中 用分号来结束一行语句 小括号 用来放置参数 例如 gotoAndPlay 10 另外可以通过使用括号来改变ASP操作符的优先级顺序 四 关键字和注释 关键字 前面已经讲过 在命名变量 函数或标签时 不能使用flash中的保留关键字 这些关键字专门用于脚本语言中 并且必
5、须以小写形式书写 不能写成大写形式 注释 注释语句以双斜杠 开始 为语句添加注释可以帮助其他人理解用户编写的脚本 ASP中的关键字 7 5事件 编写程序不可缺少的内容主要有事件 动作和对象 在flash中 将任何导致动作发生的事情都称为事件 事件包括两类 鼠标事件帧事件 一 帧事件 举例说明 注意 在flash中 只有关键帧才可以分配动作 而普通帧和空白帧是不可以分配动作的 定义关键帧动作的操作比较简单 不用为关键帧分配事件 可以直接将语句加入到右侧的语句栏中 在默认情况下 flash制作的动画播放到最后 会自动返回到第一帧 并且自动重新播放 但多数情况下 我们想让flash动画播放完成之后
6、停在最后的位置 这就需要在最后一帧加入stop语句 二 鼠标事件 鼠标事件即响应鼠标的动作 能够响应鼠标事件的对象有按钮事件和影片剪辑按钮事件两种类型 A 定义按钮事件 举例说明 B 定义影片剪辑的鼠标事件 7 6控制电影动作 在flash影片控制中包括最常用的动作 用于控制影片或影片剪辑元件中的时间轴 利用这几种常用的动作可以轻松实现交互式影片中最为常见的效果 7 6 1play语句 该语句的语法结构为 play 并且该语句没有参数 它的作用是使动画开始播放 举例演示 7 6 2stop语句 stop动作用于使影片停止播放 它既可以应用于影片中的时间轴 达到控制影片停止的目的 也可以应用于影
7、片剪辑元件中的时间轴 达到控制影片剪辑元件停止的目的 举例演示 7 6 3goto语句 goto动作使电影跳转到时间轴上指定的帧或场景 分为gotoAndPlay和gotoAndStop两种 gotoAndPplay的作用将播放指针指向特定的场景和帧 并且从此开始播放 如果场景没有被指定 则播放指针指向当前场景的特定帧 该语句的语法结构为 gotoAndPlay scene frame gotoAndStop语句的作用是当播放到指向特定的场景和帧时 停止动画的播放 如果没有指定场景 则停止指针将指向当前场景的特定帧 语法结构为 gotoAndStop scene frame 7 6 4stop
8、AllSound语句 stopAllSound动作用于停止影片中所有的声音效果 而不影响影片的视觉效果 该语句没有参数 通常用于制作静音按钮 7 6 5nextFrame和prevFrame nextFrame动作用于使影片播放到下一帧停止 prevFrame动作用于使影片返回到上一帧并停止 nextFrame和prevFrame语句没有参数 它们一般应用于鼠标事件中 控制影片的前进或后退 7 6 6on语句 on语句用于设置鼠标的各种事件 实际上是事件而不是动作 双击on语句 在脚本编辑区出现on事件提示表 在提示列表中包含了应用于按钮实例的各种事件 7 6 7路径 在flash中用ASP编
9、辑程序脚本时 经常需要对某对象实施一种动作或在某种场合下调用某对象 为了找到不同位置的对象 就需要引入路径的概念 Flash影片剪辑元件都具有一个特性 元件内可以嵌套另一个元件 为了说明这些元件的位置 引入 路径 的概念 在flash中路径分为绝对路径相对路径 A 绝对路径 绝对路径是在读取或调用任何变量或影片剪辑时 以主时间轴为起点 从外到内逐级用点语法写下路径 在flash中主场景的时间轴用 root来表示 例如 主场景内有一个名为Ball的影片剪辑元件 其路径可写为 root Ball 当指定该实例转到第10帧处执行时 可以写成 root Ball gotoAndplay 10 若Bal
10、l元件中还包含一个影片剪辑元件Ball01 而Ball01中也包含一个影片剪辑元件Ball001 若要使Ball001元件停止播放时 就可写成 root Ball Ball01 Ball001 stop B 相对路径 相对路径是以当前发出指令的对象所在的时间轴为起点 去调用其他电影剪辑及其变量 在flash中 相对路径是以 parent开头的 parent代表父目录 也就是包含该元件所在的时间轴 当在Ball01元件上要控制Ball001停止播放时 使用相对路径就可以写成 parent Ball001 stop 7 7动作脚本中的数据类型 定义描述变量或动作脚本元素可以包含的信息的种类 1 基
11、本数据类型 字符串 数值 布尔值等 基本数据类型都有一个不变的值 可以保存它所表示元素的实际值 2 引用数据类型 指影片剪辑和对象 它们的值可能发生更改 因此它们包含对该元素的实际值的引用 字符型 string 字符型变量用来存储字符型数据 例如 name iming 字符型数据是一个字符 字母 数字或标点符号 序列 在ASP语句中输入字符串 需要使用单引号或双引号括住 练习 判断下面的数据是否是字符型 name 小赵 home 3 street life 3 name john 数值型和逻辑型 数值型 Number 用来存储数值型数据 如size 200 逻辑型 Boolean 用来存储逻辑
12、型数据 如rain true 逻辑型数据包括true和false 逻辑值与逻辑操作一起 常用在控制脚本运行的比较语句中 对象型和影片剪辑型 对象型 Object 对象是属性的集合 不同的对象包含有不同的属性 每个属性都有名称和值 属性值可以是任何flash数据类型 甚至可以是对象数据类型 这样可以将一个对象嵌套在另一个对象之中 要指定对象及其属性 可以使用 运算符 例如 在以下代码中 hoursWorked是weeklyStats的属性 而后者是employee的属性 employee weeklyStats hoursWorked影片剪辑型 Movieclip 用来存储影片剪辑型数据 它是惟
13、一引用图形元素的数据类型 7 8变量 定义是用来存储信息的存储器 脚本程序中的变量可以保存所有类型的数据 包括字符串 数值 布尔值 true或false 等 7 8 1变量命名规则 变量的命名主要遵循以下规则 变量名由字母 a z A Z 数字 0 9 和下划线 组成 中间不允许有空格 并且必须以字母或下划线开头 变量不能和关键字同名 并且不能是布尔值 并且在flash中关键字都是小写形式 若写成大写 flash会将它视为普通字符 而不作为关键字 例如 to是一个关键字 而TO却不是 变量名在其作用范围内必须是唯一的 在使用变量时应遵循 先定义后使用 的原则 即在脚本中必须先定义一个变量 才能
14、在表达式中使用这个变量 flash对程序中大小写字母进行识别 即BOOK不等于book 建议尽量使用具有一定含义的变量名 练习 data I J smith zzu 3der program 1 sum abc a b else lotus 1 2 3 123 for 7 8 2变量定义与作用域 一 变量的定义在flash中不必定义变量的类型 flash会在赋值时自动定义变量的类型 按作用范围 可分为全局变量 Global 局部变量 Local 我们常用 global 变量名来定义全局变量 我们常用var语句来定义局部变量 全局变量和局部变量的语法结构 定义全局变量的语法格式为 global
15、变量名例如 global myName lucy 定义局部变量的语法结构 var变量名 表达式例如 varm 20 7 8 3变量作用域 前面已经学过 变量分为全局变量和局部变量 变量只能在其作用域中被引用 一个全局变量可以在所有的时间轴中共享 而一个局部变量仅在所属的代码块 即一个大括号 内作用 在程序中局部变量被大量地使用 因为使用局部变量可以有效地防止名称冲突 但在有些情况下 只能使用全局变量 例如 要在一个代码块中引用另一个代码块中的变量 或者要在整个动画中传递某个变量的值 7 9运算符和表达式 一 运算符和表达式 运算符是能够提供对数值 字符串 逻辑值进行运算的关系符号 在flash
16、中运算符有数值运算符 字符串运算符 比较运算符 逻辑运算符 位运算符和赋值运算符 表达式是用运算符将常量 变量和函数以一定的运算规则组织在一起的计算式 例如a b 数值运算符 数值运算符可以执行加 减 乘 除运算 也可以执行其他算术运算 如果加号两边的操作数其中之一属于 字符串 类型 则 运算符将变成字符串连接指令 例如 varstr 20 36varstr num 36 比较运算符 用于比较表达式的值 然后返回一个布尔值 这些操作符最常用于判断循环是否结束或用于条件语句中 逻辑运算符 逻辑运算符会比较布尔值 然后返回第3个布尔值 例如 如果两个操作数为true 则逻辑与运算符 将返回true 如果其中一个或两个操作为true 则逻辑 或 运算符 将返回true 赋值运算符 用赋值 运算符给变量指定值 如 x 3 scale 60 运算符的使用 1 运算符的优先级当在一个表达式中使用了多个运算符时 就要遵循一定的规则 例如 要在 之前被执行 因为乘法运算比加法运算有更高的优先级 ASP是严格遵循这个优先级来决定哪个运算符先执行 哪个后执行的 例如 myScore 30 2 2程序的执行