《flash第1讲-ActionScript基础.ppt》由会员分享,可在线阅读,更多相关《flash第1讲-ActionScript基础.ppt(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第1讲 ActionScript基础lFlash动画最有趣的地方在于其交互性和各种绚烂缤纷的复杂效果。这些都是通过Flash内置的脚本语言ActionScript完成的。本章主要介绍关于ActionScript的一些基础知识。在后面的章节中,将通过各种实例具体介绍ActionScript的编程方法。1.1 ActionScript概述l在深入学习ActionScript之前,首先需要了解ActionScript的一些基础知识,并掌握用于编写ActionScript的“动作”面板的使用方法。掌握了这些,读者可以对后面将要学习的内容有更好的理解。1.1.1 什么是ActionScriptlActi
2、onScript是从Flash 5开始引入的一种脚本撰写语言。由于Flash CS4提供了多个版本的ActionScript,可以满足各类用户的需求。相比之下,3.0版本更着重于满足程序开发人员的设计需求。而对于普通用户来说,2.0版本则可以更容易地被理解和掌握。1.1.2 ActionScript的编写环境l在编写ActionScript之前,可以首先对其编写环境进行一些设置。1.1.2 ActionScript的编写环境l“动作”面板是Flash提供的用于编写ActionScript脚本的工具。1.2 ActionScript编程基础l与其他语言一样,ActionScript拥有自己的语法
3、和术语。在使用ActionScript编程时,必须清楚地了解ActionScript中各种术语的概念所指,并遵循各种约定的语法规则。这样,才能够编写出清楚易懂、简洁高效的脚本。1.2.1 ActionScript基本语法l要使所编写的代码在Flash中能够正确地编译和运行,必须使用正确的ActionScript语法来构成语句。l1区分大小写:ActionScript是区分大小写的。1.2.1 ActionScript基本语法l2点语法:在ActionScript中,可以使用点语法访问舞台中对象或实例的属性或方法,或确定实例(例如影片剪辑)、变量、函数或对象的目标路径。l例1:在舞台上新建一个影
4、片剪辑元件Ball,_x影片剪辑属性表示影片剪辑在舞台上的X轴位置,而表达式Ball._x可指定影片剪辑元件实例在舞台中的水平位置.l例2:表示一个影片剪辑元件的方法,它的语法是:Ball.play(),其中Ball是一个影片剪辑元件,play()是该元件的方法,表示对该元件进行播放。1.2.1 ActionScript1.2.1 ActionScript基本语法基本语法l点语法还有几个重要的别名:1._root表示绝对路径,它指的是时间主轴(场景中的时间轴是主轴,影片剪辑元件等中的时间轴是子轴)。2._parent表示当前影片剪辑的上一级时间轴(如:一级子轴的上一级时间轴是主轴,二级子轴的上
5、一级时间轴是一级子轴)。3.this表示当前时间轴,可以操控当前时间轴上的对象等。1.2.1 ActionScript1.2.1 ActionScript基本语法基本语法l3目标路径:FLA文件具有一种层次结构。1.2.1 ActionScript基本语法l4分号:ActionScript语句以分号(;)字符结束,l5冒号:在代码中可以使用冒号(:)为变量指定数据类型,l6大括号:使用大括号()可以将ActionScript事件、类定义和函数组合成块。l7小括号:在ActionScript中定义函数时,可以将参数放在小括号(())里面,1.2.1 ActionScript基本语法l8注释:注释
6、是一种使用简单易懂的句子对代码进行注解的方法,Flash不会将注释视为脚本的计算内容。l9常数:常数是具有固定值的属性,是在整个应用程序中都不发生改变的值。与可以大小写字母混写的变量不同,常数应为大写字母,并应使用下划线分隔单词。l10关键字:关键字是ActionScript中用于执行一项特定操作的单词,是具有特定含义的保留字。1.2.2 ActionScript相关术语l本节中,将介绍一些ActionScript中常用的术语。l1动作:动作是指定Flash动画在播放时执行某些操作的语句。l2事件:事件是SWF文件播放时发生的动作。l3事件处理函数:为使应用程序能够对事件做出反应,必须使用事件
7、处理函数。事件处理函数是用于与特定对象和事件关联的ActionScript代码。l4实例:实例是属于某些类的对象。每个类的实例都包含该类的所有属性和方法。1.2.2 ActionScript相关术语l5实例名:实例名是在脚本中用于指向影片中实例的惟一名称。1.2.2 ActionScript相关术语l6数据类型:数据类型可用于描述一个数据片段,以及可以对其执行的各种操作。l7变量:变量是保存信息的容器,可用于保存不同类型的数据。l8运算符:运算符是指定如何组合、比较或更改表达式中的值的字符。l9表达式:表达式是Flash可以计算并返回值的任何语句,由运算符和操作数组成。1.2.2 Action
8、Script相关术语l10类:ActionScript是一种面向对象的语言。在面向对象的编程中,包括对象、对象的属性以及对象的方法等概念。l11函数:函数是一些可以在SWF文件中的任意位置重复使用的ActionScript代码块,可以向其传递参数并能返回值。l12方法:属于一个类的函数称作该类的方法。例如,loadMovie()是一个与MovieClip类关联的内置方法(loadMovie()是Flash中内置的预定义MovieClip类的一个函数)。1.3 数据类型l1.字符串型字符串型l字符串是由字母、数字、标点符号等组成的字符序列,如John、A8和Bye等。通常该类型数据都要使用双引号
9、或单引号括起来,以区别于其他的数据类型。字符串将被当作字符,而不是变量进行处理。l在字符串类的运算中,可以使用加法运算符“”连接或合并两个字符串,从而成为一个独立的字符串,字符串前面或后面的空格将作为该字符串的文本部分。1.3 数据类型 转义序列字符单引号反斜杠”双引号b退格符(ASCII 8)t制表符(ASCII 9)n换行符(ASCII 10)f换页符(ASCII 12)r回车符(ASCII 13)000-377以八进制指定的字节x00-xFF以十六进制指定的字节u0000-Uffff以十六进制指定的16位Unicode字符1.3 数据类型l2.数值型数值型l动作脚本中的数值型数据都是双精
10、度浮点数,用户可使用运算符对这些数值进行运算,如加()、减()、乘(*)、除(/)、求模()、递增(+)和递减(-)等。例如两个数值型数据 1和 2 相加的值赋予变量a,那么该变量的值为数值型数据3,即:a=1+2。1.3 数据类型l3.布尔型布尔型l布尔型是ture或false中的一个。在需要时,ActionScript也可以将ture和false转化成1和0。布尔值最经常的用法是和逻辑操作符一起,用于进行比较和控制一个程序脚本的流向。1.3 数据类型l4.对象型对象型l对象是属性的集合,每个属性都由名称和值两部分组成。其中属性值可以是动作脚本中的任意Flash数据类型,甚至于使用另外的对象
11、型数据,这使动画工作人员可以将对象进行“嵌套”。要指定对象及其属性,可以使点(.)运算符,如:ball._alpha。l可以使用内置动作脚本对象访问和处理特定种类的信息,如:x=Math.sqrt()。l可以创建自己的对象来组织影片中的信息。1.3 数据类型l5.影片剪辑型l影片剪辑不仅是影片中可以播放动画的元件,也是惟一引用图形元素的数据类型。当将一个变量赋予影片剪辑元件的实例后,用户就可以通过MovieClip类的方法控制影片剪辑元件。1.3 数据类型l6.空值数据型空值数据型l空值数据型只有一个值Null,表示没有数据,但它并不等于空格,使用空值可表示变量还没有接收到值、变量不再包含值等
12、,还可作为函数的返回值,以指示函数没有可以返回的值。l未定义数据型只包含一个值undefined,它通常用于尚未赋值的变量。1.4变量l1.变量的命名规则变量的命名规则l在为变量命名时,用户一般要遵循下面的规则:1.变量必须是以字母或者下划线开头,其中可以包括$、数字、字母或者下划线。如:_myAge、_x2。2.变量名称中不能包含关键字或动作脚本文本,如True、False、Undefined、Null等。3.变量在自己的有效区域里必须是惟一的(即在同一变量作用范围内,不能使用相同的变量名称来标识多个变量)。1.4 变量l2.变量的作用域变量的作用域l变量的范围是指变量已知并可以引用的区域,
13、根据变量范围的不同,动作脚本提供了三种类型的变量范围,即全局变量、本地变量和时间轴变量。l本地变量是指只在其自身的代码块中可用的变量,它将在该代码块结束时,再声明本地变量可使用var语句。1.4 变量l全局变量和函数在文档中的每个时间轴和全部范围都是可见的,在创建具有全局范围的变量时,需要在变量名称前使用_global标识符。l时间轴变量是指可用于文档中时间轴上任何脚本的变量,若要声明时间轴变量,可在该时间轴中的所有帧上都初始化这些变量,用户可通过set variable语句或使用“”运算符声明时间轴变量。面向对象编程中的几个基本概念l“对象”是指属性和方法的集合,每个对象都具有其各自的名称,
14、并且都是特定类的实例。相比较而言,对象是一个形象具体的概念,如生活中所使用的笔、纸张、书籍、计算机等,都可称之为对象。而对于每个对象来说,它们都具有一些区别于其他对象的个体属性,如大小、形状、颜色、使用方法等。Flash中使用的内置对象都是在动作脚本语言中预先定义的。面向对象编程中的几个基本概念l在面向对象编程中,类定义对象的类别,描述对象的属性(数据)和行为(方法),类是一个较为抽象的概念,可以说是对象概念的提升,利用类可表现一组相关对象中某些公共的属性和行为。l如果要使用类所定义的属性和方法,必须先创建该类的实例,实例化对象其实就是指定某个特定的对象。了解内置对象l内置对象是指Flash中
15、自带的对象类,这些类中有一些是基于ECMAScript规范的,它们被称为核心动作脚本类,如Array、Boolean等,其余的内置动作脚本类是Macromedia Flash和Flash Player对象模型所专用的。这些对象类大都存放于【动作】面板中的“ActionScript 2.0类”选项下 了解内置对象l1.实例化对象实例化对象 l如果要创建动作脚本类的实例时,可使用new运算符调用该类的构造函数。构造函数与类始终具有相同的名称,并返回该类的实例,而用户通常会将该实例分配给一个变量,例如:lvar song:Sound=new Sound();l上述代码表示创建了一个新的Sound对象
16、。1.5.2 了解内置对象l2.需要绑定的类需要绑定的类 l在动作脚本中,还有一些对象类需要绑定到【库】面板中的某个对象上,如MovieClip、Sound等。1.5.2 了解内置对象l3.顶级对象类顶级对象类l有些内置动作脚本类,类成员(属性和方法)通过类名本身来访问或调用的,而不是通过类的实例,也就是说,不用创建类的实例即直接使用这些属性和方法。1.5.2 了解内置对象l几种顶级类:l(1)Key:Key类是不通过构造函数即可使用其方法和属性的顶级类。使用Key类的方法可生成用户能够通过标准键盘控制的界面,该类的属性是常量,表示控制游戏时最经常使用的键。l(2)Mouse:使用Mouse类的方法可隐藏和显示SWF文件中的鼠标指针(光标)。默认情况下鼠标指针是可见的,但是用户可以将其隐藏并实现用影片剪辑创建的自定义指针。l(3)Math:使用Math类的方法和属性可以访问和处理数学常数和函数。