Flash-AS-3.ppt
《Flash-AS-3.ppt》由会员分享,可在线阅读,更多相关《Flash-AS-3.ppt(138页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第第1 1章章动画编程简介动画编程简介Flash AS 3.0 Flash ActionScript 3.0概况 Adobe Flash Professional IDE Flash中设计与AS代码的集成Flash AS 3.01.1 动画编程语言AS 3.0 Flash是目前最为热门的二维交互式矢量动画制作软件。ActionScript(AS)是内置于Flash的编程语言,它在 Flash内容和应用程序中实现交互性、数据处理以及其他许多功能。ActionScript 在 ActionScript 虚拟机(AVM)中执行,运行时AVM包含在 Flash Player中。ActionScript
2、 代码通常由编译器转换为字节代码格式。字节代码是一种由计算机编写和识别的编程语言。在Adobe Flash Professional 中内置有编译器。字节代码嵌入在 Flash Player 执行的 SWF 文件中。ActionScript 3.0 已成了真正的面向对象的编程语言,提供了可靠的编程模型,方便创建拥有大型数据集和面向对象的可重用代码库的高度复杂应用程序。ActionScript 3.0 中的新功能:(1)核心语言功能;(2)API 功能.Flash AS 3.01.2 Flash IDE简介(1)动作面板(2)输出面板(3)编译器错误面板(4)脚本窗口Flash AS 3.01.
3、3 案例图形自动绘制程序1.3.1 案例任务描述 本案例是一个不需要动画设计的脚本范例,程序代码以外部独立的as文件存在,它实现的功能是由程序运行时自动地完成一个箭头图形的绘制。1.3.2 操作流程 程序功能演示;学生动手练习。1.3.3 案例小结 在本案例中,使用独立存在的Arrow.as脚本文件,被另一个设计内容空白的arrow.fla设计文件,通过文档类的方式调用,集成在一起,形成最后的Flash作品。Arrow.as文件的类代码可以被重复使用,任何其它影片作品文档都可调用它,原因在于它是独立存在的。Flash AS 3.01.4 案例补间动画播放程序1.4.1 案例任务描述 本案例首先
4、设计一段常规的形状补间动画,然后添加到动画中的交互行为,包括两个可以单击的按钮:一个用于启动动画,另一个用于导航到单独的 URL(某个网站,比如中国水利水电出版社)。交互行为的动作代码为存放在时间轴上的帧代码。1.4.2 操作流程 程序功能演示;学生动手练习。1.4.3 案例小结 本案例将各段 ActionScript代码合并后形成一个完整的应用程序。该动画片段是一个如何利用现有线性动画以及添加某些交互式元素的示例。程序代码全部放置在时间轴的帧上,不存在或没有用到外部as文件中的代码。Flash AS 3.01.5 案例Hello World程序1.5.1 案例任务描述 本案例ActionSc
5、ript 应用程序是一个标准“Hello World”应用程序,设计要求较为简单:此应用程序名为 HelloWorld;将显示一个包含“Hello World!”字样的文本字段;应用程序主要实现一个名为 Greeter 的面向对象的类,存在于外部as文件中。这种设计允许在 Flash Professional中使用该类。1.5.2 操作流程 程序功能演示;学生动手练习。1.5.3 案例小结 本案例是较为典型的Flash动画作品的表现形式,ActionScript脚本程序和作品设计相结合,有一定的交互性,并体现了一种在 Flash Professional 中使用外部 ActionScript
6、3.0 类文件的简单模式。整个程序的代码有一部分放置在时间轴的帧上,有一部分以外部独立as文件的形式存,将二者相结合,实现最后的程序。感谢您的关注!第2章AS3.0基本语法Flash AS 3.0 常量和变量 数据类型及相互转换 语言要素及语法规则 运算符与表达式 数组及字符串 程序结构及函数Flash AS 3.02.1 常量与变量2.1.1 常量 常量指的是在程序运行过程中始终保持不变的数据。表示常量的方法有两种:字面常量和常量声明。字面常量指在程序中直接书写数据的内容,如trace(“hello world!”),其中双引号括起的字符串即为字面常量。再比如,y=x+3,这里的数值3为一个
7、字面常量。下面列出了可以直接包含在代码中的各种字面值类型:数字(包括int和uint),如42、-100和93.5;布尔值,即true和false;使用单引号或双引号的字符串,其形式为“Leorm ipsum”;特珠类型的空值,即null和undefined;使用方括号的数组字面值,如“Monday”,”Wednesday”,”Friday”;使用大括号语法定义的通用对象,如name:”Alita”,likeSpaghetti:true。常量声明指的是使用const定义一个标识符,该标识符即为常量名,比如:“const CONNAME:int”,其中CONNAME为常量名。一般在定义时,需进行
8、常量的初始化操作,即给出其值。如“const CONNAME:int=5”,初始化后在程序中不能再更改其值。一般约定,常量名都用大写字母表示,以区别其它标识符。Flash AS 3.02.1.2 变量 变量可用来存储程序中使用的值。在AS 3.0中声明变量的格式如下:var 变量名:数据类型;var 变量名:数据类型=值;变量命名即标识符,AS3.0将标识符分为编程用标识符和设计用标识符。编程用标识符可分为常量、变量、函数名、对象名等;设计用标识符分为实例名、连接类名。通用命名规则包括26个英文字母、数字、美元符号($)、下划线(_),而且第一个字符不能是数字。(一)变量的命名规则 在编程实践
9、中,变量命名应遵循以下规则:尽量使用有含义的英文单词作为变量名。变量名采用骆驼命名法,即混合使用大小写,第一个单词的首字母小写,第二个以后的单词首字母大写,其它均为小写,如highLevelFlag变量。变量命名符合最小长度最大信息量原则。尽量避免变量名中出现数字编号。(二)AS3.0中使用的保留字 AS3.0中定义的标识符是区分大小写的:如myname和myName是完全不同的两个变量。另外,不能使用保留字,如教材中的表2-1、表2-2、表2-3所示的词汇关键字。Flash AS 3.0 (三)Flash Professional中的元件变量 在Flash Professional中,还有另
10、外一种变量声明方法。在将一个影片剪辑元件、按钮元件或文本字段放置在舞台上时,可以在属性检查器中为它指定一个实例名称。Flash Professional在后台创建与实例同名的变量。可在ActionScript 代码中使用该名称表示该舞台项。例如,假设舞台上有一个影片剪辑元件,并为其指定了实例名称rocketShip。只要在ActionScript代码中使用变量rocketShip,实际上就是在操作该影片剪辑。(四)变量的作用域 变量的作用域是指可在其中通过词汇引用来访问变量的代码区域。全局变量是指在代码的所有区域中定义的变量,而局部变量是指仅在代码的某个部分定义的变量。在 ActionScri
11、pt 3.0 中,始终为变量分配声明它们的函数或类的作用域。全局变量是在任何函数或类定义的外部定义的变量。可以通过在函数定义内部声明变量来将它声明为局部变量。可定义局部变量的最小代码区域就是函数定义。在函数内部声明的局部变量仅存在于该函数中。Flash AS 3.02.2 数据与数据类型 程序中的数据指的是用于数学计算的整数、小数,用于文本存储的字符串,用于逻辑运算的真假值等。数据类型可以确定程序中变量的种类以方便组成各种表达式。2.2.1 数据类型 在 ActionScript中,可以将很多数据类型用作所创建的变量的数据类型。其中的某些数据类型可以看作是“简单”或“基本”数据类型:strin
12、g:一个文本值,例如,一个名称或书中某一章的文字;numeric:对于 numeric 型数据,ActionScript 3.0 包含三种特定的数据类型:number:任何数值,包括有小数部分或没有小数部分的值;int:一个整数(不带小数部分的整数);uint:一个“无符号”整数,即不能为负数的整数。Boolean:一个 true 或 false 值,例如开关是否开启或两个值是否相等。ActionScript 中定义的大部分数据类型都可以被描述为复杂数据类型,因为它们表示组合在一起的一组值。例如,数据类型为 Date 的变量表示单个值,即时间中的某个片刻。然而,该日期值实际上表示为几个值:年、
13、月、日、时、分、秒等等,它们都是单独的数字。大部分内置数据类型以及程序员定义的数据类型都是复杂数据类型。下面的是一些复杂数据类型:MovieClip:影片剪辑元件。TextField:动态文本字段或输入文本字段。SimpleButton:按钮元件。Date:有关时间中的某个片刻的信息(日期和时间)。Flash AS 3.0 用作数据类型的同义词的两个概念是类和对象。“类”仅仅是数据类型的定义,就像用于该数据类型的所有对象的模板,例如“所有 Example 数据类型的变量都拥有这些特性:A、B 和 C”。“对象”仅仅是类的一个实际的实例;可将一个数据类型为 MovieClip 的变量描述为一个
14、MovieClip 对象。下面几条叙述虽然表达的方式不同,但意思是相同的:变量 myVariable 的数据类型是 Number;变量 myVariable 是一个 Number 实例;变量 myVariable 是一个 Number 对象;变量 myVariable 是 Number 类的一个实例。Flash AS 3.02.2.2 类型转换(一)隐式转换 在运行时,隐式转换会发生在许多上下文环境中:在赋值语句中。在将值作为函数的参数传递时。在从函数中返回值时。在使用某些运算符(如加法运算符(+))的表达式中。(二)显式转换 在严格模式下进行编译时,使用显式转换会非常有用,因为有时可能不希望
15、因类型不匹配而生成编译时错误。当知道强制功能会在运行时正确转换值时,可能就属于这种情况。例如,在使用从表单接收的数据时,可能希望依赖强制功能将某些字符串值转换为数值。var quantityField:String=3;var quantity:int=int(quantityField);Flash AS 3.02.2.3 数组 一个数组中的所有元素都是同一数据类型的数据。AS3.0中的数组分为数字索引数组和字符串索引数组两类。数组类Array是AS3.0中内置的一个类,声明数组的方法有几种,比如:var myArray:Array=new Array(5);var myArray:Arra
16、y=1,2,3,4,5;访问数组中的元素使用方括号运算符,比如:trace(“myArray2”);方括号中标明的是数组的下标,为从0开始的整数。字符串索引数组不使用数字作为元素下标,访问这种数组中的元素时方括号内需要一个字符串(其实是属性)。本质上,就是一个Object类型对象。比如,可以使用直接初始化对象的方式定义字符串索引数组:var monitorInfo:Object=type:”Flat Panel”,resolution:”1600*1200”;trace(monitorInfo“type”,monitorInfo“resolution”);var monitorInfo:Obj
17、ect=new Object();monitorInfo“aspect ratio”=“16:10”;Flash AS 3.02.3 运算符与表达式2.3.1 运算符与表达式 运算符是一种特殊的函数,它们连同一个或多个操作数并返回相应的值形成表达式。操作数是运算符用作输入的值(通常为字面值、变量或其它表达式)。运算符可以是一元、二元或三元的。一元运算符用 1 个操作数;二元运算符用 2 个操作数;三元运算符用 3 个操作数。2.3.2 运算符的优先级和结合律 运算符的优先级和结合律决定了处理运算符的顺序。ActionScript 定义了一个默认的运算符优先级,可以使用小括号运算符()来改变它。
18、分类组合运算符主要 x:y()f(x)new x.y xy :.后缀x+x-一元+x-x+-!delete typeof void乘性*/%加性+-按位移位 关系=as in instanceof is等于=!=!=按位AND、XOR、OR&|逻辑 AND、OR、NOT&|!条件?:赋值=*=/=%=+=-=&=|=逗号,Flash AS 3.02.3.3 主要运算符 主要运算符包括那些用来创建 Array 和 Object 字面值、对表达式进行分组、调用函数、实例化类实例以及访问属性的运算符。运算符执行的运算初始化数组x:y初始化对象()对表达式进行分组f(x)调用函数new调用构造函数x.
19、y xy访问属性初始化 XMLList 对象(E4X)访问属性(E4X):限定名称(E4X).访问子级 XML 元素(E4X)Flash AS 3.02.3.4 几个典型的一元运算符和关系运算符 一元运算符只有一个操作数,这意味着它们在表达式中出现在操作数的前面。关系运算符涉及两个操作数,它比较两个操作数的值,然后返回一个布尔值。运算符运算符执执行的运算行的运算一元运算符delete删除属性typeof返回类型信息void返回未定义值关系运算符as检查数据类型in检查对象属性instanceof检查原型类is检查数据类型Flash AS 3.02.4 案例类型转换程序2.4.1 案例任务描述
20、本案例设计一个程序,完成数据类型的转换演示,将数据类型从一种类型转换为另一种类型,即从数组转为列表、从字符串转为数组、从数组转为字符串、从字符串转为整数、从字符串转为浮点数等。2.4.2 操作流程 程序功能演示;学生动手练习。2.4.3 案例小结 本案例通过上机运行,应该对程序的变量有所认识,ActionScript以变量的使用为基础,而变量从本质上说就是程序运行过程中保存数据的容器。每个变量都有各自的数据类型,数据类型定义了存储在变量中的数据的类型。这种机制可以帮助编译器和Flash Player捕获代码中的错误。在运算时,使用数据类型的显示转换有助于得到正确的运算结果。在传统的程序语言中字
21、符串和数组是真正的数据类型,而AS3.0中的String和Array是面向对象程序语言中的类。Flash AS 3.02.5 程序结构与函数2.5.1 条件语句 AS 3.0 提供了三个可用来控制程序流的基本条件语句。(一)if.else语句if(x 20)trace(x is 20);else trace(x is 20)trace(x is 20);else if(x 0)trace(x is negative);(三)switch语句var someDate:Date=new Date();var dayNum:uint=someDate.getDay();switch(dayNum)c
22、ase 0:trace(Sunday);break;case 1:trace(Monday);break;case 2:trace(Tuesday);break;case 3:trace(Wednesday);break;case 4:trace(Thursday);break;case 5:trace(Friday);break;case 6:trace(Saturday);break;default:trace(Out of range);break;Flash AS 3.02.5.2 循环语句循环语句允许使用一系列值或变量来反复执行一个特定的代码块。建议始终用大括号()括起代码块。AS
23、3.0 提供了五个可用来控制程序流的基本循环语句。(一)for语句var i:int;for(i=0;i 5;i+)trace(i);(二)for.in语句var myObj:Object=x:20,y:30;for(var i:String in myObj)trace(i+:+myObji);(三)for each.in 语句var myObj:Object=x:20,y:30;for each(var num in myObj)trace(num);(四)while语句var i:int=0;while(i 5)trace(i);i+;(五)do.while语句var i:int=5;d
24、o trace(i);i+;while(i 5);Flash AS 3.02.5.3 函数 一般讲,函数指在程序中可能重复使用的代码块。函数通过参数接收外部数据,也可以返回一个值。(一)函数定义及使用函数声明的语法为:Function 函数名(参数列表):返回值类型 /函数的执行代码(函数体)函数调用的语法为:函数名(参数列表)(二)函数作为对象 ActionScript 3.0 中的函数是对象。当创建函数时,就是在创建对象,该对象不仅可以作为参数传递给另一个函数,而且还可以有附加的属性和方法。作为参数传递给另一个函数的函数是按引用(而不是按值)传递的。在将某个函数作为参数传递时,只能使用标识
25、符,而不能使用在调用方法时所用的小括号运算符。例如,下面的代码将名为 clickListener()的函数作为参数传递给 addEventListener()方法:addEventListener(MouseEvent.CLICK,clickListener);(三)函数作用域 函数的作用域不但决定了可以在程序中的什么位置调用函数,而且还决定了函数可以访问哪些定义。适用于变量标识符的作用域规则同样也适用于函数标识符。在全局作用域中声明的函数在整个代码中都可用。Flash AS 3.02.5.4 注释(一)单行注释 在一行中的任意位置放置两个斜杠来指定单行注释。/这是注释行,执行时被计算机忽略.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Flash AS
限制150内