62
2022年6年8年 年年年 2022年6年8年 年年年 年年年年年年年年年年 年年年年年年年年年年 1 10 10 第第 第第 Flash 8 Flash 8 第第第第第第第第 第第第第第第第第 年年年年年年年 年年年年年年年 年年 年年 Actionscript Actionscript 年年 年年 年年 年年 ActionScript ActionScript 年年年 年年年 年年 年年 ActionScript ActionScript 年年年年 年年年年 年年年年 年年年年 ActionScript ActionScript 年年年年 年年 年年 ActionScript 3.0 ActionScript 3.0 年年年 年年年 年年年年年 年年年 、、、 年年年 年年年 年年年年年 年年年 、、、 年年年年年年年年年年 年年年年年年年年 年年年年年年年年

第 10 单元 Flash 8 动作脚本编程基础

  • Upload
    miron

  • View
    122

  • Download
    5

Embed Size (px)

DESCRIPTION

第 10 单元 Flash 8 动作脚本编程基础. 教学目的和要求 了解 Actionscript 术语 了解 ActionScript 的语法 了解 ActionScript 开发环境 掌握基本 ActionScript 命令。 理解 ActionScript 3.0 的变量、函数、数据类型、表达式等基础知识。 掌握程序结构控制. 第 10 单元 Flash 8 动作脚本编程基础. 教学重点和难点 掌握基本 ActionScript 命令 理解 ActionScript 3.0 的变量、函数、数据类型、表达式等基础知识。 掌握程序结构控制. - PowerPoint PPT Presentation

Citation preview

Page 1: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 11

第第 1010 单元 单元 Flash 8 Flash 8 动作脚本编程基础动作脚本编程基础 教学目的和要求教学目的和要求

了解了解 ActionscriptActionscript 术语术语 了解了解 ActionScriptActionScript 的语法的语法 了解了解 ActionScript ActionScript 开发环境开发环境 掌握基本掌握基本 ActionScriptActionScript 命令。命令。 理解理解 ActionScript 3.0ActionScript 3.0 的变量、函数、数据类型、的变量、函数、数据类型、

表达式等基础知识。表达式等基础知识。 掌握程序结构控制掌握程序结构控制

Page 2: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 22

第第 1010 单元 单元 Flash 8 Flash 8 动作脚本编程基础动作脚本编程基础

教学重点和难点教学重点和难点 掌握基本掌握基本 ActionScriptActionScript 命令命令 理解理解 ActionScript 3.0ActionScript 3.0 的变量、函数、数据类的变量、函数、数据类

型、表达式等基础知识。型、表达式等基础知识。 掌握程序结构控制 掌握程序结构控制

Page 3: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 33

第第 1010 单元 单元 Flash 8 Flash 8 动作脚本编程基础动作脚本编程基础 主要内容:主要内容:

ActionscriptActionscript 术语术语 基本基本 ActionScriptActionScript 命令命令 ActionScript 3.0ActionScript 3.0 语法基础语法基础 数据类型数据类型 常量、变量和表达式常量、变量和表达式 程序结构控制程序结构控制 函数的应用函数的应用

Page 4: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 44

动作脚本(即动作脚本(即 ActionScriptActionScript )是面向对象的脚本)是面向对象的脚本程序语言。在程序语言。在 Flash 8Flash 8 中,动作脚本代码并不是中,动作脚本代码并不是任何地方都可以使用,应该将动作脚本代码添加任何地方都可以使用,应该将动作脚本代码添加到关键帧、按钮或影片剪辑中,并分别称之为帧到关键帧、按钮或影片剪辑中,并分别称之为帧动作、按钮动作及影片剪辑动作。动作、按钮动作及影片剪辑动作。

10.1 10.1 动作脚本简介动作脚本简介

Page 5: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 55

11 .动作:是在播放过程中指示动画响应触发事件.动作:是在播放过程中指示动画响应触发事件时执行某个操作的语句。时执行某个操作的语句。

22 .参数:通过它可把值传递给函数。.参数:通过它可把值传递给函数。 33 .常量:是指在任何情况下都固定不变的元素,.常量:是指在任何情况下都固定不变的元素,

主要用于数值的比值。主要用于数值的比值。 44 .数据类型:是描述变量或动作脚本元素中可以.数据类型:是描述变量或动作脚本元素中可以

包含的信息的种类。包含的信息的种类。

10.2.1 10.2.1 动作脚本专用术语动作脚本专用术语

Page 6: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 66

55 .事件:是动画在播放时发生的动作。.事件:是动画在播放时发生的动作。 66 .表达式:是语句中能够产生一个值的任意组合,.表达式:是语句中能够产生一个值的任意组合,

表达式通常由运算符和操作数组成。表达式通常由运算符和操作数组成。 77 .函数:是可以传送参数并能够返回值的可重复使.函数:是可以传送参数并能够返回值的可重复使

用的代码块。用的代码块。 88 .事件处理程序:是一种特殊的动作,它用来管理.事件处理程序:是一种特殊的动作,它用来管理

或控制某一事件。或控制某一事件。

10.2.1 10.2.1 动作脚本专用术语动作脚本专用术语

Page 7: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 77

99 .标识符:用来标明变量、属性、对象、函数或方.标识符:用来标明变量、属性、对象、函数或方法的名称。法的名称。

1010 .关键字:是具有特定意义的保留字。.关键字:是具有特定意义的保留字。 1111 .操作符:是从一个到多个值计算出一个新值的.操作符:是从一个到多个值计算出一个新值的

术语。术语。 1212 .目标路径:实例名称、变量和对象的层次地址。.目标路径:实例名称、变量和对象的层次地址。 1313 .变量:是存储任一数据类型的值的标识符,变.变量:是存储任一数据类型的值的标识符,变

量可以创建、更改或更新。量可以创建、更改或更新。

10.2.1 10.2.1 动作脚本专用术语动作脚本专用术语

Page 8: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 88

11 .类:类是各种信息的集合。类的实例就是对象,.类:类是各种信息的集合。类的实例就是对象,用户可以使用用户可以使用 Flash 8Flash 8 预先定义的类,也可以使用自预先定义的类,也可以使用自己定义的类。己定义的类。

22 .结构体:也称为构造函数,用来定义类的属性和.结构体:也称为构造函数,用来定义类的属性和方法,是类定义中与类同名的函数。方法,是类定义中与类同名的函数。

33 .实例:是属于某个类的对象,一个类的每个实例.实例:是属于某个类的对象,一个类的每个实例包含该类的所有属性和方法。包含该类的所有属性和方法。

10.2.2 10.2.2 面向对象专用术语面向对象专用术语

Page 9: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 99

44 .实例名:是用来表示按钮对象或影片剪辑对.实例名:是用来表示按钮对象或影片剪辑对象的唯一名字。象的唯一名字。

55 .方法:是分配给一个对象的函数。一个函数.方法:是分配给一个对象的函数。一个函数被分配之后,它可以作为对象的方法被调用。被分配之后,它可以作为对象的方法被调用。

66 .对象:是属性的集合。每个对象都有它的名.对象:是属性的集合。每个对象都有它的名称和值。对象允许用户访问某种类型的信息。称和值。对象允许用户访问某种类型的信息。

77 .属性:是指用于定义对象的属性。.属性:是指用于定义对象的属性。

10.2.2 10.2.2 面向对象专用术语面向对象专用术语

Page 10: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 1010

动作脚本具有一定的语法规则,用户必须遵守这些动作脚本具有一定的语法规则,用户必须遵守这些语法规则,才能创建正确编译和运行动作脚本。语法规则,才能创建正确编译和运行动作脚本。

10.3 10.3 动作脚本的语法动作脚本的语法

Page 11: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 1111

点语法的结构:点的左侧可以是动画中的对象、实点语法的结构:点的左侧可以是动画中的对象、实例或时间轴,点的右侧可以是与左侧元素相关的属例或时间轴,点的右侧可以是与左侧元素相关的属性、目标路径、变量或动作。下面是性、目标路径、变量或动作。下面是 33 种不同的形种不同的形式:式:

myClip.visible=0;myClip.visible=0; menuBar.menu1.item5;menuBar.menu1.item5; _root.gotoAndPlay(5);_root.gotoAndPlay(5);

10.3.1 10.3.1 点语法点语法

Page 12: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 1212

动作脚本使用大括号符号(动作脚本使用大括号符号( {}{} )来组织脚本元素)来组织脚本元素(这种符号也叫做波形括号)。在下面的程序中,(这种符号也叫做波形括号)。在下面的程序中,当鼠标被按下时,大括号之间的所有语句将被执行。当鼠标被按下时,大括号之间的所有语句将被执行。

on(release){on(release){ dots_color.setRGB(0×00cc00);dots_color.setRGB(0×00cc00); }}

10.3.2 10.3.2 大括号大括号

Page 13: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 1313

在动作脚本中使用分号作为结束标志。例如,下在动作脚本中使用分号作为结束标志。例如,下面的语句中就使用分号作为结束标志。面的语句中就使用分号作为结束标志。

gotoAndplay();gotoAndplay(); row=0;row=0; 如果忽略了分号,如果忽略了分号, FlashFlash 也能正确编译脚本,但也能正确编译脚本,但

是,最好还是使用分号作为结束标志。是,最好还是使用分号作为结束标志。

10.3.3 10.3.3 分号分号

Page 14: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 1414

小括号“()”是表达式中的一个符号,具有运小括号“()”是表达式中的一个符号,具有运算符的最优先级别。在定义函数时,要将所有参算符的最优先级别。在定义函数时,要将所有参数都放在括号中。数都放在括号中。

当用户调用函数时,又需要使用括号将参数传递当用户调用函数时,又需要使用括号将参数传递给函数。例如:给函数。例如:myFunction(“Linda”,18);myFunction(“Linda”,18);

10.3.4 10.3.4 小括号小括号

Page 15: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 1515

在动作脚本中,关键字、类名、变量等都区分大小在动作脚本中,关键字、类名、变量等都区分大小写,其他则无所谓。例如,下面的语句是等价的。写,其他则无所谓。例如,下面的语句是等价的。

fly.togoAndStop(15);fly.togoAndStop(15); FLY.togoAndStop(15);FLY.togoAndStop(15);

10.3.5 10.3.5 大写和小定字母大写和小定字母

Page 16: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 1616

在动作脚本中保留了一些标识符作为内置对象、函在动作脚本中保留了一些标识符作为内置对象、函数等的标识。这些标识就是关键字,用户在编写脚数等的标识。这些标识就是关键字,用户在编写脚本代码的过程中,不能用这些关键字作为变量、函本代码的过程中,不能用这些关键字作为变量、函数或自定义对象的标识,而且在脚本代码中使用关数或自定义对象的标识,而且在脚本代码中使用关键字,必须要小写。键字,必须要小写。

动作脚本中的常用关键字如表动作脚本中的常用关键字如表 6.3.16.3.1 所示。所示。

10.3.6 10.3.6 关键字关键字

Page 17: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 1717

表 6.3.1 动作脚本中常用关键字

10.3.6 10.3.6 关键字关键字

Page 18: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 1818

在动作脚本中使用字符“在动作脚本中使用字符“ //”//” 来表明其后的内容来表明其后的内容为注释内容,它们在脚本编辑窗口中以灰色显示,为注释内容,它们在脚本编辑窗口中以灰色显示,注释语句不会影响注释语句不会影响 FlashFlash 输出文件的大小,只是输出文件的大小,只是便于阅读和理解脚本。便于阅读和理解脚本。

10.3.7 10.3.7 注释注释

Page 19: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 1919

10.4 10.4 数据类型数据类型 数据类型是描述变量或动作脚本元素中包含的信息的种类。数据类型是描述变量或动作脚本元素中包含的信息的种类。

FlashFlash 中内置了两种数据类型:即基本数据类型和引用数据类中内置了两种数据类型:即基本数据类型和引用数据类型。基本数据类型包括:字符串、数字和布尔值,它们都有型。基本数据类型包括:字符串、数字和布尔值,它们都有一个常数值,因此可以包含它们所代表的元素的实际值。引一个常数值,因此可以包含它们所代表的元素的实际值。引用数据类型包括:对象和影片剪辑,它们的值可能发生改变,用数据类型包括:对象和影片剪辑,它们的值可能发生改变,因此它们存放对元素的实际值的引用。其中基本数据类型是因此它们存放对元素的实际值的引用。其中基本数据类型是能够被赋予的一个不变的数值;引用数据类型则是一些指针能够被赋予的一个不变的数值;引用数据类型则是一些指针的集合,由它们指向真正的变量。另外,还有两个特殊的数的集合,由它们指向真正的变量。另外,还有两个特殊的数据类型:空值和未定义。据类型:空值和未定义。

Page 20: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 2020

字符串是由字母、数字、标点符号等组成的字符字符串是由字母、数字、标点符号等组成的字符序列。在动作脚本中应用字符串时要将其放在单序列。在动作脚本中应用字符串时要将其放在单引号或双引号中引号或双引号中

可以使用加法“可以使用加法“ +”+” 运算符连接或合并两个字符运算符连接或合并两个字符串。动作脚本会将字符串前面或后面的空格作为串。动作脚本会将字符串前面或后面的空格作为该字符串的一部分。该字符串的一部分。

10.4.1 10.4.1 字符串字符串

Page 21: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 2121

字符串变量字符串变量 greetinggreeting 的值是:“的值是:“ welcome to China”welcome to China” 。。需要注意的是:字符串是区分大小写的。例如:“需要注意的是:字符串是区分大小写的。例如:“ welwelcome”come” 和“和“ WELCOME”WELCOME” 是不同的字符串内容。是不同的字符串内容。

若在字符串中包含引号,需要在其前面加上一个反斜若在字符串中包含引号,需要在其前面加上一个反斜线字符“线字符“ \”\” ,这称为“转义”。在动作脚本中,还有,这称为“转义”。在动作脚本中,还有一些只能用特殊的转义序列才能表示的字符,如表一些只能用特殊的转义序列才能表示的字符,如表 6.4.6.4.11 所示。所示。

10.4.1 10.4.1 字符串字符串

Page 22: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 2222

表表 6.4.1 6.4.1 动作脚本转义符动作脚本转义符

10.4.1 10.4.1 字符串字符串

Page 23: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 2323

数字是指双精度浮点数,可以使用算术运算符数字是指双精度浮点数,可以使用算术运算符(如:(如: ++ 、、 -- 、、 ** 、、 // 、、 %% 、、 ++++ 、、 ---- 等)对数等)对数字进行运算,也可以使用字进行运算,也可以使用 FlashFlash 中内置的数学对中内置的数学对象象 MathMath 和和 NumberNumber 类的方法来处理数字。类的方法来处理数字。

10.4.2 10.4.2 数字数字

Page 24: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 2424

布尔值是布尔值是 truetrue (真)或(真)或 falsefalse (假)中的一个,(假)中的一个,如果需要也可以把它们自动转换成如果需要也可以把它们自动转换成 11 或者或者 00 来表来表示。布尔值经常用于示。布尔值经常用于 ifif 语句中,与逻辑运算符或语句中,与逻辑运算符或比较运算符一起使用,以控制程序流程。比较运算符一起使用,以控制程序流程。

10.4.3 10.4.3 布尔值布尔值

Page 25: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 2525

对象是属性的集合。每个属性都有名称和值,属对象是属性的集合。每个属性都有名称和值,属性值可以是任何性值可以是任何 FlashFlash 数据类型,甚至可以是对数据类型,甚至可以是对象数据类型,可以使对象相互包含(即嵌套)。象数据类型,可以使对象相互包含(即嵌套)。要指定对象及其属性,可以使用点运算符。要指定对象及其属性,可以使用点运算符。

此外,可以使用内置对象来处理和访问特定种类此外,可以使用内置对象来处理和访问特定种类的信息。例如,的信息。例如, MathMath 对象具有一些方法,这些对象具有一些方法,这些方法可以对传递给它们的数字执行数学运算。方法可以对传递给它们的数字执行数学运算。

10.4.4 10.4.4 对象对象

Page 26: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 2626

影片剪辑是影片剪辑是 FlashFlash 应用程序中可以播放动画的元应用程序中可以播放动画的元件,是唯一引用图形元素的数据类型。影片剪辑件,是唯一引用图形元素的数据类型。影片剪辑类型允许使用影片剪辑类的方法控制影片剪辑元类型允许使用影片剪辑类的方法控制影片剪辑元件。可以使用点运算符调用这些方法。件。可以使用点运算符调用这些方法。

10.4.5 10.4.5 影片剪辑影片剪辑

Page 27: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 2727

空值数据类型只有一个空值数据类型只有一个 nullnull 值,此值意味“没有值,此值意味“没有值”,即缺少数据。值”,即缺少数据。 nullnull 值可以用在各种情况中。值可以用在各种情况中。下面是一些示例:下面是一些示例: 指示变量尚未接收到值。指示变量尚未接收到值。 指示变量不再包含值。指示变量不再包含值。 作为函数的返回值,指示函数没有返回的值。作为函数的返回值,指示函数没有返回的值。 作为函数的参数,说明省略了一个参数。作为函数的参数,说明省略了一个参数。

10.4.6 10.4.6 空值空值

Page 28: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 2828

未定义的数据类型有一个值,即未定义的数据类型有一个值,即 undefinedundefined ,用,用于尚未分配值的变量。于尚未分配值的变量。

10.4.7 10.4.7 字符串字符串

Page 29: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 2929

使用使用 typeoftypeof 运算符,就可以判断动作脚本元素的运算符,就可以判断动作脚本元素的数据类型。数据类型。 TypeofTypeof 运算符只接受一个选项:希望运算符只接受一个选项:希望检测的动作脚本元素的名称。检测的动作脚本元素的名称。

10.4.8 10.4.8 使用使用 typeoftypeof 检测数据类型检测数据类型

Page 30: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 3030

10.5.1 10.5.1 变量变量 变量是语句中可以改变的参数值。变量是语句中可以改变的参数值。 在动作脚本中首次定义一个变量时,最好赋给它在动作脚本中首次定义一个变量时,最好赋给它一个已知的值,称为初始化变量。一个已知的值,称为初始化变量。 11 .变量的命名.变量的命名

(( 11 )变量名必须是一个标识符。)变量名必须是一个标识符。 (( 22 )变量名不能是关键字或逻辑常量。)变量名不能是关键字或逻辑常量。 (( 33 )变量名在其作用范围内必须是唯一的。)变量名在其作用范围内必须是唯一的。

22 .变量的类型.变量的类型 在在 Flash 8Flash 8 的动作脚本中,给变量赋值时会自动的动作脚本中,给变量赋值时会自动确定变量的数据类型。确定变量的数据类型。

Page 31: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 3131

33 .变量的作用范围.变量的作用范围 变量的作用范围是指能够识别和引用变量的区域。在变量的作用范围是指能够识别和引用变量的区域。在

动作脚本中可将变量分为全局变量和局部变量(或称动作脚本中可将变量分为全局变量和局部变量(或称本地变量)。本地变量)。

44 .变量的声明.变量的声明声明全局变量,可以使用声明全局变量,可以使用 set Variablesset Variables 命令或赋值操命令或赋值操

作;声明局部变量,可以在函数体内使用作;声明局部变量,可以在函数体内使用 varvar 语句。局语句。局部变量作用范围只限于它所在的代码块内 部变量作用范围只限于它所在的代码块内

10.5.1 10.5.1 变量变量

Page 32: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 3232

55 .在动作脚本中使用变量.在动作脚本中使用变量必须在动作脚本中声明变量,然后才能在表达式中使用这必须在动作脚本中声明变量,然后才能在表达式中使用这

个变量。如果使用一个未声明的变量,该变量的值将是个变量。如果使用一个未声明的变量,该变量的值将是 NNaNaN 或或 undefinedundefined ,脚本产生意外的结果。,脚本产生意外的结果。

在动作脚本中可以多次更改一个变量的值。在动作脚本中可以多次更改一个变量的值。另外,若要引用动画或影片剪辑中的变量,需要在变量名另外,若要引用动画或影片剪辑中的变量,需要在变量名

的前面加上路径,用以指明变量的出处。的前面加上路径,用以指明变量的出处。

10.5.1 10.5.1 变量变量

Page 33: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 3333

函数是一种一次编写后可以在动画文件中反复使用的函数是一种一次编写后可以在动画文件中反复使用的脚本代码块。包含内置函数和自定义函数两大类。脚本代码块。包含内置函数和自定义函数两大类。 11 .内置函数.内置函数 内置函数就是动作脚本中已经定义好的函数,用户可直接内置函数就是动作脚本中已经定义好的函数,用户可直接

使用这些函数。使用这些函数。 Flash 8Flash 8 提供了一些内置函数,用户可以在提供了一些内置函数,用户可以在“动作”面板的“全局函数”类别中找到这些函数。“动作”面板的“全局函数”类别中找到这些函数。

若要调用函数,只需使用函数名称并传递所有必需的参数若要调用函数,只需使用函数名称并传递所有必需的参数即可。即可。

10.5.2 10.5.2 函数函数

Page 34: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 3434

22 .自定义函数.自定义函数 自定义函数是由用户根据需要自己定义的函数。自定义函数是由用户根据需要自己定义的函数。

(( 11 )定义函数。函数和变量一样,都附加在定义它们)定义函数。函数和变量一样,都附加在定义它们的影片剪辑的时间轴上,调用时必须使用目标路径才能的影片剪辑的时间轴上,调用时必须使用目标路径才能调用它们。要定义一个时间轴函数,可以使用调用它们。要定义一个时间轴函数,可以使用 functionfunction动作,后跟一个函数名、要传递给该函数的参数以及指动作,后跟一个函数名、要传递给该函数的参数以及指定函数用途的动作脚本语句。定函数用途的动作脚本语句。

10.5.2 10.5.2 函数函数

Page 35: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 3535

(( 22 )将参数传递给函数。参数是函数对其执行代)将参数传递给函数。参数是函数对其执行代码的元素。码的元素。

(( 33 )从函数中返回值。通常希望定义的函数能返)从函数中返回值。通常希望定义的函数能返回一个确定的值,使用回一个确定的值,使用 returnreturn 语句可以从被调函数语句可以从被调函数中返回值。中返回值。

10.5.2 10.5.2 函数函数

Page 36: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 3636

(( 44 )调用自定义函数。可以使用目标路径从任何)调用自定义函数。可以使用目标路径从任何时间轴调用函数,如果函数是使用时间轴调用函数,如果函数是使用 _global_global 标识符声标识符声明的全局函数,则无需使用目标路径即可调用函数。明的全局函数,则无需使用目标路径即可调用函数。

若要调用函数,可以输入函数名称的目标路径,若若要调用函数,可以输入函数名称的目标路径,若带有参数,还应在括号内传递所有必需的参数。带有参数,还应在括号内传递所有必需的参数。

10.5.2 10.5.2 函数函数

Page 37: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 3737

运算符是指能够对常量和变量进行运算的符号。运算符是指能够对常量和变量进行运算的符号。 表达式是指将运算符和运算对象连接起来符合语表达式是指将运算符和运算对象连接起来符合语

法规则的式子。法规则的式子。 11 .算术运算符和算术表达式.算术运算符和算术表达式

算术运算符可以执行加、减、乘、除和其他算算术运算符可以执行加、减、乘、除和其他算术运算。术运算。

算术表达式是将算术运算符和括号将运算对象算术表达式是将算术运算符和括号将运算对象连接起来的符合语法规则的式子。表连接起来的符合语法规则的式子。表 10.5.110.5.1 列列出了动作脚本中常用的算术运算符。出了动作脚本中常用的算术运算符。

10.5.3 10.5.3 运算符及表达式运算符及表达式

Page 38: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 3838

表表 10.5.1 10.5.1 算术运算符算术运算符

10.5.3 10.5.3 运算符及表达式运算符及表达式

Page 39: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 3939

22 .比较运算符和比较表达式.比较运算符和比较表达式 比较运算符用于比较两个表达式的值,然后返回一个比较运算符用于比较两个表达式的值,然后返回一个布尔值(布尔值( truetrue 或或 falsefalse )。表)。表 10.5.210.5.2 列出了动作脚本列出了动作脚本中常用的比较运算符。中常用的比较运算符。

表表 10.5.2 10.5.2 比较运算符比较运算符

10.5.3 10.5.3 运算符及表达式运算符及表达式

Page 40: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 4040

33 .逻辑运算符和逻辑表达式.逻辑运算符和逻辑表达式逻辑运算符是对布尔值(逻辑运算符是对布尔值( truetrue 或或 falsefalse )进行比较,然后返回第三个布尔)进行比较,然后返回第三个布尔

值。表值。表 10.5.310.5.3 列出了动作脚本中常用的逻辑运算符。列出了动作脚本中常用的逻辑运算符。表表 10.5.3 10.5.3 比较运算符比较运算符

10.5.3 10.5.3 运算符及表达式运算符及表达式

Page 41: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 4141

44 .赋值运算符和赋值表达式.赋值运算符和赋值表达式表表 10.5.4 10.5.4 赋值运算符赋值运算符

10.5.3 10.5.3 运算符及表达式运算符及表达式

Page 42: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 4242

可以使用赋值运算符(可以使用赋值运算符( == )为变量赋值。赋值运)为变量赋值。赋值运算符将变量和表达式连接起来形成赋值表达式。算符将变量和表达式连接起来形成赋值表达式。例如:例如: age=18age=18 ;;

还可以使用赋值运算符在一个表达式中给多个变还可以使用赋值运算符在一个表达式中给多个变量赋值,例如量赋值,例如 a=b=c=6a=b=c=6 ;;

表表 10.5.410.5.4 列出了动作脚本中赋值运算符。列出了动作脚本中赋值运算符。

10.5.3 10.5.3 运算符及表达式运算符及表达式

Page 43: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 4343

55 .等于运算符和等于表达式.等于运算符和等于表达式 等于运算符(等于运算符( ==== )可以确定两个操作数的值或标识是)可以确定两个操作数的值或标识是否相等并返回一个布尔值。如果将表达式写成:否相等并返回一个布尔值。如果将表达式写成: n=10n=1000 ,则是错误的,该表达式完成的是赋值操作而不是比,则是错误的,该表达式完成的是赋值操作而不是比较操作。较操作。

完全等于运算符(完全等于运算符( ====== )与等于运算符()与等于运算符( ==== )相似,)相似,但有区别:完全等于运算符不执行类型转换。表但有区别:完全等于运算符不执行类型转换。表 10.5.10.5.55 列出了动作脚本中常用的相等运算符。列出了动作脚本中常用的相等运算符。

10.5.3 10.5.3 运算符及表达式运算符及表达式

Page 44: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 4444

表表 10.5.5 10.5.5 相等运算符相等运算符

提示:当在同一语句中使用两个或多个运算符时,提示:当在同一语句中使用两个或多个运算符时,动作脚本按照标准的等级来决定哪一个运算符优动作脚本按照标准的等级来决定哪一个运算符优先执行。先执行。

10.5.3 10.5.3 运算符及表达式运算符及表达式

Page 45: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 4545

10.6.1 10.6.1 建立面向对象的动作脚本建立面向对象的动作脚本 所谓面向对象中的“对象”指的是具有一定功能的所谓面向对象中的“对象”指的是具有一定功能的

程序与数据的集合,如动作脚本中的按钮图符就是程序与数据的集合,如动作脚本中的按钮图符就是对象。对象。

在在 Flash 8Flash 8 中有两种方法创建对象:中有两种方法创建对象:第一种方法:使用“第一种方法:使用“ new”new” 操作符,从预定义对象类或操作符,从预定义对象类或

自定义对象类创建对象。自定义对象类创建对象。第二种方法:使用对象初始化操作符“第二种方法:使用对象初始化操作符“ {}”{}” 来创建类形来创建类形

式对象。式对象。

Page 46: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 4646

11 .. ArrayArray (数组)对象(数组)对象 数组对象是一种使用频率比较高的内置对象,常使用数组对象是一种使用频率比较高的内置对象,常使用 new new

Array()Array() 值实例化一个数组对象,所有数组都从值实例化一个数组对象,所有数组都从 00 开始,即开始,即数组中的第一个元素为数组中的第一个元素为 [0][0] ,第二元素为,第二元素为 [1][1] ,依次类推。,依次类推。

22 .. DateDate (日期)对象(日期)对象DateDate 对象从正在播放影片的计算机系统时钟获取日期和时对象从正在播放影片的计算机系统时钟获取日期和时间信息。为使用间信息。为使用 DateDate 对象,必须使用构造函数对象,必须使用构造函数 new Datenew Date()() 创建一个创建一个 DateDate 对象实例。对象实例。

10.6.2 10.6.2 使用预定义对象使用预定义对象

Page 47: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 4747

33 .. ColorColor (颜色)对象(颜色)对象 在在 Flash 8Flash 8 中,使用颜色对象的方法可以调整影片剪辑的中,使用颜色对象的方法可以调整影片剪辑的颜色。颜色。 setRGBsetRGB 方法可把十六进制的方法可把十六进制的 RGBRGB (红、绿、(红、绿、蓝)值赋给对象,而蓝)值赋给对象,而 setTransformsetTransform 方法则用来设置方法则用来设置 RGRGBB 的百分比和补偿值以及一种颜色的透明度。的百分比和补偿值以及一种颜色的透明度。

44 .. SoundSound (声音)对象(声音)对象 在在 Flash 8Flash 8 中,使用声音对象可以控制影片中的声音。在中,使用声音对象可以控制影片中的声音。在

调用调用 SoundSound 对象的方法之前,必须使用构造函数对象的方法之前,必须使用构造函数 new Snew Soundound 创建一个新的创建一个新的 SoundSound 对象实例。对象实例。

10.6.2 10.6.2 使用预定义对象使用预定义对象

Page 48: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 4848

55 .. KeyKey (键盘)对象(键盘)对象 键盘对象是不需要构造函数创建对象实例即可使用其方法键盘对象是不需要构造函数创建对象实例即可使用其方法

和属性的对象。使用键盘对象的方法可生成用户能够通过和属性的对象。使用键盘对象的方法可生成用户能够通过标准键盘控制的界面。标准键盘控制的界面。

66 .. MouseMouse (鼠标)对象(鼠标)对象MouseMouse 对象在影片中提供对鼠标的控制。默认情况下,鼠对象在影片中提供对鼠标的控制。默认情况下,鼠

标指针是可见的,使用鼠标对象的方法可以实现隐藏和显标指针是可见的,使用鼠标对象的方法可以实现隐藏和显示影片中的鼠标指针(光标),也可以实现用影片剪辑创示影片中的鼠标指针(光标),也可以实现用影片剪辑创建的自定义指针。建的自定义指针。

10.6.2 10.6.2 使用预定义对象使用预定义对象

Page 49: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 4949

77 .. MovieClipMovieClip (影片剪辑)对象(影片剪辑)对象 FlshFlsh 影片中的每个影片剪辑均是影片中的每个影片剪辑均是 MovieClipMovieClip 对象的实对象的实

例。用户可以使用此对象的方法和属性控制影片剪辑例。用户可以使用此对象的方法和属性控制影片剪辑对象实例。对象实例。

10.6.2 10.6.2 使用预定义对象使用预定义对象

Page 50: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 5050

10.7.1 10.7.1 条件控制语句条件控制语句 ifif 11 .. ifif 单独使用单独使用

(( 11 )格式)格式if if (条件表达式)(条件表达式) {{语句体语句体 }}(( 22 )功能)功能如果条件表达式的值为如果条件表达式的值为 truetrue ,则执行语句体;如果,则执行语句体;如果条件表达式的值为条件表达式的值为 falsefalse ,则退出,则退出 ifif 语句,继续执行语句,继续执行后面的语句。后面的语句。

Page 51: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 5151

22 .. ifif 和和 elseelse联用联用 (( 11 )格式:)格式:

if if (条件表达式)(条件表达式) {{ 语句体语句体 11}else{}else{ 语句体语句体 2}2}

(( 22 )功能)功能如果条件表达式的值为如果条件表达式的值为 truetrue ,则执行语句体,则执行语句体 11 ;否则;否则

执行语句体执行语句体 22 。。

10.7.1 10.7.1 条件控制语句条件控制语句 ifif

Page 52: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 5252

33 .. if if 和 和 else ifelse if联用联用 (( 11 )格式)格式

if if (条件表达式(条件表达式 11 )) {{ 语句体语句体 11 }else if}else if (条件表达式(条件表达式 22 )) {{ 语句体语句体 2}2}

10.7.1 10.7.1 条件控制语句条件控制语句 ifif

Page 53: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 5353

11 .. whilewhile循环语句循环语句(( 11 )格式)格式

While While (条件表达式)(条件表达式) {{语句体语句体 }}

(( 22 )功能)功能当条件表达式的值为当条件表达式的值为 truetrue 时,执行语句体,否则退时,执行语句体,否则退

出循环。出循环。

10.7.2 10.7.2 循环控制语句循环控制语句

Page 54: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 5454

22 .. do…whiledo…while循环语句循环语句(( 11 )格式)格式

do{do{语句体语句体}while}while (条件表达式)(条件表达式)

(( 22 )功能)功能当条件表达式的值为当条件表达式的值为 truetrue 时,执行语句体,否则退出时,执行语句体,否则退出循环。循环。

10.7.2 10.7.2 循环控制语句循环控制语句

Page 55: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 5555

33 .. forfor 语句语句(( 11 )格式)格式

forfor (表达式(表达式 11 ;条件表达式;表达式;条件表达式;表达式 22 )) {{语句体语句体 }}

(( 22 )功能:)功能:forfor 括号内由三部分组成,它们都是表达式,分别用括号内由三部分组成,它们都是表达式,分别用

分号隔开。分号隔开。

10.7.2 10.7.2 循环控制语句循环控制语句

Page 56: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 5656

44 .. for…infor…in 语句 语句 (( 11 )格式)格式

forfor (变量 (变量 in in 对象)对象) {{语句体语句体 }}

(( 22 )功能)功能forfor 括号内由变量、括号内由变量、 inin 和对象三部分组成,分别用和对象三部分组成,分别用空格隔开。空格隔开。

10.7.2 10.7.2 循环控制语句循环控制语句

Page 57: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 5757

55 .. breakbreak和和 continuecontinue 语句语句(( 11 )) BreakBreak 语句语句

它经常在循环语句中使用,用于强制退出循环。它经常在循环语句中使用,用于强制退出循环。(( 22 )) continuecontinue 语句语句

强制循环回到开始处。强制循环回到开始处。

10.7.2 10.7.2 循环控制语句循环控制语句

Page 58: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 5858

(( 11 )格式:)格式: switch (switch ( 表达式表达式 ){){ case case 测试值 测试值 1;1; 描述式 描述式 1;1; break;break; case case 测试值 测试值 2;2; 描述式 描述式 2;2; break;break; ………… case case 测试值 测试值 n;n; 描述式 描述式 n;n; break;break; default;default; 描述式 描述式 n+1;}n+1;}

10.7.3 10.7.3 多项选择控制语句多项选择控制语句 switchswitch

Page 59: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 5959

(( 22 )功能)功能这是多项选择控制语句。通过计算表达式的值,这是多项选择控制语句。通过计算表达式的值,判断与哪个判断与哪个 casecase 后面的值匹配,如果匹配,则后面的值匹配,如果匹配,则执行该执行该 casecase 后面的语句体,直到遇见后面的语句体,直到遇见 breakbreak退出退出 switchswitch 多分支结构。如果没有遇到匹配的多分支结构。如果没有遇到匹配的值,则执行值,则执行 defaultdefault 后面的语句体。后面的语句体。

10.7.3 10.7.3 多项选择控制语句多项选择控制语句 switchswitch

Page 60: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 6060

10.8 Flash 8 10.8 Flash 8 动作脚本语言应用实例动作脚本语言应用实例

10.8.1 10.8.1 实例一:下雨实例一:下雨 11 .创建电影文件。.创建电影文件。 22 .制作一个雨滴落下的影片剪辑。.制作一个雨滴落下的影片剪辑。 33 .为“.为“ aaa”aaa” 添加动作,制作雨滴纷纷下落的添加动作,制作雨滴纷纷下落的

动画。动画。 44 .保存并测试电影文件。.保存并测试电影文件。

Page 61: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 6161

10.8.2 10.8.2 实例二:螺旋实例二:螺旋 11 .创建电影文件。.创建电影文件。 22 .制作“点”的影片剪辑。.制作“点”的影片剪辑。 33 .制作“线”的影片剪辑。.制作“线”的影片剪辑。 44 .制作“组合”的影片剪辑。.制作“组合”的影片剪辑。 55 .为“组合”添加脚本制作螺旋动画。.为“组合”添加脚本制作螺旋动画。 66 .保存并测试电影文件。.保存并测试电影文件。

10.8 Flash 8 10.8 Flash 8 动作脚本语言应用实例动作脚本语言应用实例

Page 62: 第 10 单元   Flash 8  动作脚本编程基础

2023年4月24日 星期一2023年4月24日 星期一 陇东学院信息工程学院陇东学院信息工程学院 6262

10.8.3 10.8.3 实例三:变色灯实例三:变色灯 11 .制作相关符号。.制作相关符号。 22 .主场景制作。.主场景制作。 33 .保存并测试电影文件。.保存并测试电影文件。

10.8 Flash 8 10.8 Flash 8 动作脚本语言应用实例动作脚本语言应用实例