620 likes | 798 Views
第 10 单元 Flash 8 动作脚本编程基础. 教学目的和要求 了解 Actionscript 术语 了解 ActionScript 的语法 了解 ActionScript 开发环境 掌握基本 ActionScript 命令。 理解 ActionScript 3.0 的变量、函数、数据类型、表达式等基础知识。 掌握程序结构控制. 第 10 单元 Flash 8 动作脚本编程基础. 教学重点和难点 掌握基本 ActionScript 命令 理解 ActionScript 3.0 的变量、函数、数据类型、表达式等基础知识。 掌握程序结构控制.
E N D
第10单元 Flash 8 动作脚本编程基础 • 教学目的和要求 • 了解Actionscript术语 • 了解ActionScript的语法 • 了解ActionScript 开发环境 • 掌握基本ActionScript命令。 • 理解ActionScript 3.0的变量、函数、数据类型、表达式等基础知识。 • 掌握程序结构控制 陇东学院信息工程学院
第10单元 Flash 8 动作脚本编程基础 • 教学重点和难点 • 掌握基本ActionScript命令 • 理解ActionScript 3.0的变量、函数、数据类型、表达式等基础知识。 • 掌握程序结构控制 陇东学院信息工程学院
第10单元 Flash 8 动作脚本编程基础 • 主要内容: • Actionscript术语 • 基本ActionScript命令 • ActionScript 3.0语法基础 • 数据类型 • 常量、变量和表达式 • 程序结构控制 • 函数的应用 陇东学院信息工程学院
10.1 动作脚本简介 • 动作脚本(即ActionScript)是面向对象的脚本程序语言。在Flash 8中,动作脚本代码并不是任何地方都可以使用,应该将动作脚本代码添加到关键帧、按钮或影片剪辑中,并分别称之为帧动作、按钮动作及影片剪辑动作。 陇东学院信息工程学院
10.2.1 动作脚本专用术语 • 1.动作:是在播放过程中指示动画响应触发事件时执行某个操作的语句。 • 2.参数:通过它可把值传递给函数。 • 3.常量:是指在任何情况下都固定不变的元素,主要用于数值的比值。 • 4.数据类型:是描述变量或动作脚本元素中可以包含的信息的种类。 陇东学院信息工程学院
10.2.1 动作脚本专用术语 • 5.事件:是动画在播放时发生的动作。 • 6.表达式:是语句中能够产生一个值的任意组合,表达式通常由运算符和操作数组成。 • 7.函数:是可以传送参数并能够返回值的可重复使用的代码块。 • 8.事件处理程序:是一种特殊的动作,它用来管理或控制某一事件。 陇东学院信息工程学院
10.2.1 动作脚本专用术语 • 9.标识符:用来标明变量、属性、对象、函数或方法的名称。 • 10.关键字:是具有特定意义的保留字。 • 11.操作符:是从一个到多个值计算出一个新值的术语。 • 12.目标路径:实例名称、变量和对象的层次地址。 • 13.变量:是存储任一数据类型的值的标识符,变量可以创建、更改或更新。 陇东学院信息工程学院
10.2.2 面向对象专用术语 • 1.类:类是各种信息的集合。类的实例就是对象,用户可以使用Flash 8预先定义的类,也可以使用自己定义的类。 • 2.结构体:也称为构造函数,用来定义类的属性和方法,是类定义中与类同名的函数。 • 3.实例:是属于某个类的对象,一个类的每个实例包含该类的所有属性和方法。 陇东学院信息工程学院
10.2.2 面向对象专用术语 • 4.实例名:是用来表示按钮对象或影片剪辑对象的唯一名字。 • 5.方法:是分配给一个对象的函数。一个函数被分配之后,它可以作为对象的方法被调用。 • 6.对象:是属性的集合。每个对象都有它的名称和值。对象允许用户访问某种类型的信息。 • 7.属性:是指用于定义对象的属性。 陇东学院信息工程学院
10.3 动作脚本的语法 • 动作脚本具有一定的语法规则,用户必须遵守这些语法规则,才能创建正确编译和运行动作脚本。 陇东学院信息工程学院
10.3.1 点语法 • 点语法的结构:点的左侧可以是动画中的对象、实例或时间轴,点的右侧可以是与左侧元素相关的属性、目标路径、变量或动作。下面是3种不同的形式: • myClip.visible=0; • menuBar.menu1.item5; • _root.gotoAndPlay(5); 陇东学院信息工程学院
10.3.2 大括号 • 动作脚本使用大括号符号({})来组织脚本元素(这种符号也叫做波形括号)。在下面的程序中,当鼠标被按下时,大括号之间的所有语句将被执行。 • on(release){ • dots_color.setRGB(0×00cc00); • } 陇东学院信息工程学院
10.3.3 分号 • 在动作脚本中使用分号作为结束标志。例如,下面的语句中就使用分号作为结束标志。 • gotoAndplay(); • row=0; • 如果忽略了分号,Flash也能正确编译脚本,但是,最好还是使用分号作为结束标志。 陇东学院信息工程学院
10.3.4 小括号 • 小括号“()”是表达式中的一个符号,具有运算符的最优先级别。在定义函数时,要将所有参数都放在括号中。 • 当用户调用函数时,又需要使用括号将参数传递给函数。例如: • myFunction(“Linda”,18); 陇东学院信息工程学院
10.3.5 大写和小定字母 • 在动作脚本中,关键字、类名、变量等都区分大小写,其他则无所谓。例如,下面的语句是等价的。 • fly.togoAndStop(15); • FLY.togoAndStop(15); 陇东学院信息工程学院
10.3.6 关键字 • 在动作脚本中保留了一些标识符作为内置对象、函数等的标识。这些标识就是关键字,用户在编写脚本代码的过程中,不能用这些关键字作为变量、函数或自定义对象的标识,而且在脚本代码中使用关键字,必须要小写。 • 动作脚本中的常用关键字如表6.3.1所示。 陇东学院信息工程学院
10.3.6 关键字 表6.3.1 动作脚本中常用关键字 陇东学院信息工程学院
10.3.7 注释 • 在动作脚本中使用字符“//”来表明其后的内容为注释内容,它们在脚本编辑窗口中以灰色显示,注释语句不会影响Flash输出文件的大小,只是便于阅读和理解脚本。 陇东学院信息工程学院
10.4 数据类型 • 数据类型是描述变量或动作脚本元素中包含的信息的种类。Flash中内置了两种数据类型:即基本数据类型和引用数据类型。基本数据类型包括:字符串、数字和布尔值,它们都有一个常数值,因此可以包含它们所代表的元素的实际值。引用数据类型包括:对象和影片剪辑,它们的值可能发生改变,因此它们存放对元素的实际值的引用。其中基本数据类型是能够被赋予的一个不变的数值;引用数据类型则是一些指针的集合,由它们指向真正的变量。另外,还有两个特殊的数据类型:空值和未定义。 陇东学院信息工程学院
10.4.1 字符串 • 字符串是由字母、数字、标点符号等组成的字符序列。在动作脚本中应用字符串时要将其放在单引号或双引号中 • 可以使用加法“+”运算符连接或合并两个字符串。动作脚本会将字符串前面或后面的空格作为该字符串的一部分。 陇东学院信息工程学院
10.4.1 字符串 • 字符串变量greeting的值是:“welcome to China”。需要注意的是:字符串是区分大小写的。例如:“welcome”和“WELCOME”是不同的字符串内容。 • 若在字符串中包含引号,需要在其前面加上一个反斜线字符“\”,这称为“转义”。在动作脚本中,还有一些只能用特殊的转义序列才能表示的字符,如表6.4.1所示。 陇东学院信息工程学院
10.4.1 字符串 表6.4.1 动作脚本转义符 陇东学院信息工程学院
10.4.2 数字 • 数字是指双精度浮点数,可以使用算术运算符(如:+、-、*、/、%、++、--等)对数字进行运算,也可以使用Flash中内置的数学对象Math和Number类的方法来处理数字。 陇东学院信息工程学院
10.4.3 布尔值 • 布尔值是true(真)或false(假)中的一个,如果需要也可以把它们自动转换成1或者0来表示。布尔值经常用于if语句中,与逻辑运算符或比较运算符一起使用,以控制程序流程。 陇东学院信息工程学院
10.4.4 对象 • 对象是属性的集合。每个属性都有名称和值,属性值可以是任何Flash数据类型,甚至可以是对象数据类型,可以使对象相互包含(即嵌套)。要指定对象及其属性,可以使用点运算符。 • 此外,可以使用内置对象来处理和访问特定种类的信息。例如,Math对象具有一些方法,这些方法可以对传递给它们的数字执行数学运算。 陇东学院信息工程学院
10.4.5 影片剪辑 • 影片剪辑是Flash应用程序中可以播放动画的元件,是唯一引用图形元素的数据类型。影片剪辑类型允许使用影片剪辑类的方法控制影片剪辑元件。可以使用点运算符调用这些方法。 陇东学院信息工程学院
10.4.6 空值 • 空值数据类型只有一个null值,此值意味“没有值”,即缺少数据。null值可以用在各种情况中。下面是一些示例: • 指示变量尚未接收到值。 • 指示变量不再包含值。 • 作为函数的返回值,指示函数没有返回的值。 • 作为函数的参数,说明省略了一个参数。 陇东学院信息工程学院
10.4.7 字符串 • 未定义的数据类型有一个值,即undefined,用于尚未分配值的变量。 陇东学院信息工程学院
10.4.8 使用typeof检测数据类型 • 使用typeof运算符,就可以判断动作脚本元素的数据类型。Typeof运算符只接受一个选项:希望检测的动作脚本元素的名称。 陇东学院信息工程学院
10.5.1 变量 • 变量是语句中可以改变的参数值。 • 在动作脚本中首次定义一个变量时,最好赋给它一个已知的值,称为初始化变量。 • 1.变量的命名 • (1)变量名必须是一个标识符。 • (2)变量名不能是关键字或逻辑常量。 • (3)变量名在其作用范围内必须是唯一的。 • 2.变量的类型 • 在Flash 8的动作脚本中,给变量赋值时会自动确定变量的数据类型。 陇东学院信息工程学院
10.5.1 变量 • 3.变量的作用范围 • 变量的作用范围是指能够识别和引用变量的区域。在动作脚本中可将变量分为全局变量和局部变量(或称本地变量)。 • 4.变量的声明 • 声明全局变量,可以使用set Variables命令或赋值操作;声明局部变量,可以在函数体内使用var语句。局部变量作用范围只限于它所在的代码块内 陇东学院信息工程学院
10.5.1 变量 • 5.在动作脚本中使用变量 • 必须在动作脚本中声明变量,然后才能在表达式中使用这个变量。如果使用一个未声明的变量,该变量的值将是NaN或undefined,脚本产生意外的结果。 • 在动作脚本中可以多次更改一个变量的值。 • 另外,若要引用动画或影片剪辑中的变量,需要在变量名的前面加上路径,用以指明变量的出处。 陇东学院信息工程学院
10.5.2 函数 • 函数是一种一次编写后可以在动画文件中反复使用的脚本代码块。包含内置函数和自定义函数两大类。 • 1.内置函数 • 内置函数就是动作脚本中已经定义好的函数,用户可直接使用这些函数。Flash 8提供了一些内置函数,用户可以在“动作”面板的“全局函数”类别中找到这些函数。 • 若要调用函数,只需使用函数名称并传递所有必需的参数即可。 陇东学院信息工程学院
10.5.2 函数 • 2.自定义函数 • 自定义函数是由用户根据需要自己定义的函数。 • (1)定义函数。函数和变量一样,都附加在定义它们的影片剪辑的时间轴上,调用时必须使用目标路径才能调用它们。要定义一个时间轴函数,可以使用function动作,后跟一个函数名、要传递给该函数的参数以及指定函数用途的动作脚本语句。 陇东学院信息工程学院
10.5.2 函数 • (2)将参数传递给函数。参数是函数对其执行代码的元素。 • (3)从函数中返回值。通常希望定义的函数能返回一个确定的值,使用return语句可以从被调函数中返回值。 陇东学院信息工程学院
10.5.2 函数 • (4)调用自定义函数。可以使用目标路径从任何时间轴调用函数,如果函数是使用_global标识符声明的全局函数,则无需使用目标路径即可调用函数。 • 若要调用函数,可以输入函数名称的目标路径,若带有参数,还应在括号内传递所有必需的参数。 陇东学院信息工程学院
10.5.3 运算符及表达式 • 运算符是指能够对常量和变量进行运算的符号。 • 表达式是指将运算符和运算对象连接起来符合语法规则的式子。 • 1.算术运算符和算术表达式 • 算术运算符可以执行加、减、乘、除和其他算术运算。 • 算术表达式是将算术运算符和括号将运算对象连接起来的符合语法规则的式子。表10.5.1列出了动作脚本中常用的算术运算符。 陇东学院信息工程学院
10.5.3 运算符及表达式 表10.5.1 算术运算符 陇东学院信息工程学院
10.5.3 运算符及表达式 • 2.比较运算符和比较表达式 • 比较运算符用于比较两个表达式的值,然后返回一个布尔值(true或false)。表10.5.2列出了动作脚本中常用的比较运算符。 表10.5.2 比较运算符 陇东学院信息工程学院
10.5.3 运算符及表达式 • 3.逻辑运算符和逻辑表达式 • 逻辑运算符是对布尔值(true或false)进行比较,然后返回第三个布尔值。表10.5.3列出了动作脚本中常用的逻辑运算符。 表10.5.3 比较运算符 陇东学院信息工程学院
10.5.3 运算符及表达式 • 4.赋值运算符和赋值表达式 表10.5.4 赋值运算符 陇东学院信息工程学院
10.5.3 运算符及表达式 • 可以使用赋值运算符(=)为变量赋值。赋值运算符将变量和表达式连接起来形成赋值表达式。例如:age=18; • 还可以使用赋值运算符在一个表达式中给多个变量赋值,例如a=b=c=6; • 表10.5.4列出了动作脚本中赋值运算符。 陇东学院信息工程学院
10.5.3 运算符及表达式 • 5.等于运算符和等于表达式 • 等于运算符(==)可以确定两个操作数的值或标识是否相等并返回一个布尔值。如果将表达式写成:n=100,则是错误的,该表达式完成的是赋值操作而不是比较操作。 • 完全等于运算符(===)与等于运算符(==)相似,但有区别:完全等于运算符不执行类型转换。表10.5.5列出了动作脚本中常用的相等运算符。 陇东学院信息工程学院
10.5.3 运算符及表达式 表10.5.5 相等运算符 提示:当在同一语句中使用两个或多个运算符时,动作脚本按照标准的等级来决定哪一个运算符优先执行。 陇东学院信息工程学院
10.6.1 建立面向对象的动作脚本 • 所谓面向对象中的“对象”指的是具有一定功能的程序与数据的集合,如动作脚本中的按钮图符就是对象。 • 在Flash 8中有两种方法创建对象: • 第一种方法:使用“new”操作符,从预定义对象类或自定义对象类创建对象。 • 第二种方法:使用对象初始化操作符“{}”来创建类形式对象。 陇东学院信息工程学院
10.6.2 使用预定义对象 • 1.Array(数组)对象 • 数组对象是一种使用频率比较高的内置对象,常使用new Array()值实例化一个数组对象,所有数组都从0开始,即数组中的第一个元素为[0],第二元素为[1],依次类推。 • 2.Date(日期)对象 • Date对象从正在播放影片的计算机系统时钟获取日期和时间信息。为使用Date对象,必须使用构造函数new Date()创建一个Date对象实例。 陇东学院信息工程学院
10.6.2 使用预定义对象 • 3.Color(颜色)对象 • 在Flash 8中,使用颜色对象的方法可以调整影片剪辑的颜色。setRGB方法可把十六进制的RGB(红、绿、蓝)值赋给对象,而setTransform方法则用来设置RGB的百分比和补偿值以及一种颜色的透明度。 • 4.Sound(声音)对象 • 在Flash 8中,使用声音对象可以控制影片中的声音。在调用Sound对象的方法之前,必须使用构造函数new Sound创建一个新的Sound对象实例。 陇东学院信息工程学院
10.6.2 使用预定义对象 • 5.Key(键盘)对象 • 键盘对象是不需要构造函数创建对象实例即可使用其方法和属性的对象。使用键盘对象的方法可生成用户能够通过标准键盘控制的界面。 • 6.Mouse(鼠标)对象 • Mouse对象在影片中提供对鼠标的控制。默认情况下,鼠标指针是可见的,使用鼠标对象的方法可以实现隐藏和显示影片中的鼠标指针(光标),也可以实现用影片剪辑创建的自定义指针。 陇东学院信息工程学院
10.6.2 使用预定义对象 • 7.MovieClip(影片剪辑)对象 • Flsh影片中的每个影片剪辑均是MovieClip对象的实例。用户可以使用此对象的方法和属性控制影片剪辑对象实例。 陇东学院信息工程学院
10.7.1 条件控制语句if • 1.if单独使用 • (1)格式 • if (条件表达式){ • 语句体} • (2)功能 • 如果条件表达式的值为true,则执行语句体;如果条件表达式的值为false,则退出if语句,继续执行后面的语句。 陇东学院信息工程学院