action script 3.0使用指南

所需积分/C币:50 2014-02-14 14:15:47 1.95MB PDF
19
收藏 收藏
举报

关于AS 3.0的使用指南,官方完整版本。喜欢动画或者flash特效的的,可以学习一下AS脚本语言。
目录 第1章: Action Script3.0简介 关于 Action Script ActionScript3.0的优点 4 actioNscript3.0中的新增功能 第2章: Action Script快速入门 编程其础 使用对象 常用编程元素.. 示例:动画公文包片段( Flash professional) 使用 Action Script构建应用程序 创建自已的类 示例:创建基本应用程序 第3章: Action Script语言及语法 语言概述 对象和类 包和命名空间 变量 ·: 数据癸型 运算符 ··· 条件语句 函数 第4章: Action Script中面向对象的编程 面向对象的编程简介 接口 继承 高级主题 示例: GeometricShapes 上次更新2011/5/17 第1章∶ Action Script3.0简介 关于 ActionScript ActionScript是 adobe" Flash" Player和 adobe"AIR"运行讨环境的编程语言。它在到ash,Flex和AIR内容和应用程序 中实现交互性、数据处埋以及其他许多功能。 ActionScript在 ActionScript虚拟机(AVM)中执行,后者包含在 Flash Player和AIR中。 Action Script代码通常由编译 器转换为字节代码格式。宇节代码是—种由计算机编写和识别然编程语言。编译器示例有:内置到 Adobe° Flash° Professional中的编译器、内置到 Adobe°Fash° Builder中的编泽器,以及 Adobe"Flex"SDK中提供釣编译器。字节代 码嵌入在 Flash player和AIR执行的SWF文件中。 ActionScript3.0提供∫可靠的编程模型,具各面向对象编程基本知识的开发人员都熟悉此模犁。 ActionScript3.0相对于早 期 Action Script版本攻进的些重要功能包括 ·一个新增的 Action Script虚拟机,称为AVM2,它使用全新的宇节代码指令集,可使性能显著提高 个夏为先走的编译器代码厍,可执行比早期编译器版丕更深入的优化 一个扩展并改过的应用程序编稈接口(AP1),拥有对对象的低级控制知真正意义上的面向对象的模型 一个其于 ECMAScript for XML(E4X)规范(ECMA-357第2版)的 XML APLO上4X是 ECMAScript的一种语言 扩展,它将XML添加为语言的本机数据类型。 ·个基于文档对象模型(DOM)第3级事件杌范的事件模型 Action Script3.0的优点 ActionScript3.0的脚木编写功能优于 Action Script的早期版木。它旨在方便创建拥有大型数据集和面向对象的可重用代码 库的高度复尔应用程序。在 Flash Player中运行的内容不要求使用 Action Script3.0。但是,拥有它可以得到只能通过AM2 ( ActionScript3.0虚拟机)实现的性能改善。与旧的 Action Script代码相比, ActionScript30代码的执行速度可以快10 倍 早期版木的 ActionScript虚拟机AvMl执行 Action Script1.0和 Action Script2.0代码。 Flash Player9和10支持AVMl 以实现后|兼容性 Action Script3.0中的新增功能 Action Script3.0包含许多类似于 Action Script1.0和20的类和功能。但是, Action Script30在架构和概念上与早期的 ActionScript版木不同。 ActionScript30中的改进包括新増的核心语言功能,以及能够更好地空制低级对象的改进API 核心语言功能 核心谙言定义编稈语言的基本构造块,例如许句、表达式、条件、循环和类型。 ActionScript3.0包含许多加快井龙过程的功 上次更新2011/5/17 学习使用 ACTIONSCRIPT30 Action Script3.0简介 运行时异常 Action Script3.0报告的错淏情形比早期的 ActionScript版木多。运行旳异常用于常见的错误情形,可改善调试体验并使您 能够开发可以可靠地处理错误的应用程序。运行时锴误可提倛有源文件和行号信息注释的垤栈跟踪,以帮助您快速定位错 运行时类型 在 Action Script3.0屮,类型信息在运行时保留。这些信息用于执行运行时类型检查,以改善系统的类型安全性。类型信息还 叫用于以本机形式表示变量,这样提高∫性能,减少∫内存使用量。经过比较,在 Action Script2.0申,类型批注主要是一个 开发人员辅劻于段,所有值者在运行时以动态方式键入。 密封类 Action Script30中引人了密封类的概念ε锉封类只能拥冇在编译时定义的一组固定的属性和方法;不能添加其他属性和方 法。由于不能在运彳时更改类,使得编译时检査更严格,从而开发的程序更可靠。由于不要求行个对象实例都有一个内部哈希 表,因此还提高了内存的使用率。还可以通过用 dynamic关键字来实现动态关。默认情况下, Action Script30屮的所有类 都是密封的,但可以使冂 dynamic关键字将其声明为动态类。 闭包方汰 ActionScript3.0伩闭包方法可以自动记起它的原始对象实例。此功能对于事件欠理非常有用。在 ActionScript2.0中,闭包 方法无法记起它是从哪个对象实例提取的,所以调用闭包方法时会导致意外的行为。 ECMAScript for XML (E4X) Action Script3.0实现了 ECMAScript for XML(E4X),后者最近被标准化为ECMA-357。E4X提供一组用于操作XML 的日然流畅的语言枃造。与佔统的XML分析ΔPI不同,使用E4X的XML魷像该语言的本机数据类型一样执行。E4X通过 大大减少所需代码的数量来简化操作XML的立用程序的开发。 若要查看ECMAE4X规范,请访问www.ecma-nternational.org 正则表运式 Action Script3.0包括正则表达式的固有支持,因此忿可以快这搜索并操作字符串。t于仁 ECMAScript(ECMA-262)第 3版语言规范中对正则表达式进行了定义,因此 Action Script3.0实现了对正则表达式的文持 命名空间 命名空间与用于控制声玥( public、 private、 protected)的可见性的传统访问说明符类似。它们的工作方式与名称由您指定的 定义访冋说玥筲类似3命名空问使用统一资源标识符(URI)以避免神突,而H在悆使用H4X时还用于表,ⅩM.命名空问。 新基元类型 Action Script3.0包含三种数值类型: Number、int和uint。 Number表示双清度浮点数。int类型是一个带符号的32位整 数,它使 Action Script代码可充分利用CPU的快速处理整数数学运算的能力。int类型对使用整数的循环计数器和变量都非 常有用。uint类型是无符号的32位整数类型,可用于RGB颜色值、字节计数和其他方面。而 Action Script2.0只包含 Number一种数值类型 AP功能 Action Script3.0中的API包含许多可月于在低级别控制对象的类。语言体系结构的设计北早期版本更为直观。虽然有太多的 类需要烂细介,但是一些重要的区别更仨得注意。 上次更新2011/5/17 学习使用 ACTIONSCRIPT30 3 Action Script3.0简介 DOM3事件模型 文档对象模型级别3事件模型(D○M3)提供了一种生成和处理事件湑息的标准方式。这种事件模型的没计允许应用程序中的 对象进行交互和通信、维寺其状态以及响应更改。 Action Script3.0事件模型的模式遵守万维网联合会DOM级别3事件规 泸。这种模型提供的机钊比早期版本的 ActionScript巾提供的时间系统夏清始、更有效。 事件和错误事件都位于 flash events包中。 Ilash Professional组作和llex杜架使用的事件模型相同,因此整个 Flash Platform中的事件系统是统一的 显示列表API 用于访问显示列表(包含应用程户中所有可视元素釣对)的API由使用可视元的类组成。 Sprite类是一个轻型构建基块,被设计为可视兀素(如用厂界面生件)的基类。 Shape类表示原始的欠量形状。可以使月new 运算符很自然地实例化这些类,并可以随时对态重新指定其父类。 深度管理是目动进行的。提供了用于指定和管理对象的堆叠顺序的方法 处理动态数据和内容 Action Script3.0包含用,加载和处理应用科序中的資源和数的机制,这些机制在AP中是直观的并H是一致的。 Loader 类提供了一种加载SWF文件和图像资源的单一机制,并提供了一种访问已加载內容的详细信息的方式。 URLLoader类提供 了一种单独的机制,用于左数据驱动的应用程序屮加载文本和二进制数据。 Socket类提供了一种以任意格式从/向服务器套接 字中读取/与入二进制数据的方式 氐级数据访问 多种APⅠ都提供对数据的低级访问。对于正在下载的数据而言,可使用 URLStream类在下载数据的冋时访闩原炲二进制数 据。使用 ByteArray类可优化二制数据的读取、写入以及仗用。使用 Sound api,可以通过 Sound channel类和 Soundmixer类对声音进行精纽控制。安全性API提供有关SWF文件或加载内容的安全权限的信息,使您能够更好地处理安 全错误。 使用文本 ActionScript3.0包含一个用于所有与文本相关的APⅠ的 flashtext包。 TextLinemetrics类为文本字段中的一行文本提供精 确度量;该类取代了 ActionScript2.0中的 TextFormat. getTextExtent)方法。 TextField类包含可以提供有关文本字段中一行 文本或单个字符的特定信息的低级别方法。例女, getCharboundaries0方法返回一^表示字符边框的矩形。 getCharIndexAtPoint)方法返回位于指定点的字符的索弓。 getFirst CharInParagraph0)方法返回段落口第一个字符的素引。行 级方法包括 getLineLength()(返回指定文本行中的字符数)和 getLineText)(返回指定行的文本)。Font类提供了一种管理 SWF文件中的嵌入字体的法。 为了对文本进行更低级别的控制,fash. text. engine包中的类组成了Fash文本引擎。这组类振供对文本的低级控制,是针对 创建文本框架和组件而设计的。 上次更新2011/5/17 第2章: Action Script快速入门 编程基础 Action Script是一和编程谮言,因此,如果您先开懂一些常规计算叽编程慨念,对您学习 ActionScript会很有帮助。 计算机程序的用途 首先,对计算札序的概念炇其用途有一个概念性的认识是非常有用的。计算机程序主要包括个方面 程序是计算机执行的·系列指令或步骤。 每一步最终都涉到对某一段信息或数据的处理。 通常认为,计算程序只是您提供给计算机并让它逐步执行的指令列表。每个单独的指令都称为语句。在 Action Script中, 每个语句都以分号结尾 实质上,程序肀指令所做的全部荨青是操作存储在计算机内存的些数据位。举^简单的例子:指示计算机将两个数宇相 加,并海结果存储在内存中。再埊个比较复杂的例子:很设在屏幕上绘制了一个矩形,您希望写个程序,将此矩形移动到屏幕 上的其他位置。计算机会记住有关此矩形的某些信息:所处位置的x、y际,高和宽度,颜色等等。这些信总位中的每一位 都存诮在计算札内存中的某个位置。程序要将此矩形移动创其他位置,可能会包含如下骤“将X坐标更改为200;将Y坐标 更改为1503。换句话说,程序将指定新的ⅹ和Y坐标。计算机在后台根据此数据进行处理,将这些值实际应用到计算机屏 幕上显示的图像上。不过,只要基本了解“移动屏幕上的矩形”这个过程夂涉及到更改计算机内存中的数据位就够了。 变量和常量 编程主要涉及更改计算机内存中的信息。因此,要有种表示单条信息的方式,这在程序中很重要。变量是·个名称,表示计 算机内存中的值。当编写语句来处理操仵仨时,写入变量名来代替值。计算机在查看程序中的变量名卟,都将查看内存并使用 在內存中找到的值。例如,如果两个名为 value和 valuc2的交量分别包含一个数宁,则可以编写如下语句将这两个数字相加 valuel value 当实际执行这些步骤时,计算机将查看每个变量中的值并海它们相力 在 Action Script3.0中,一个变量实际上包含三个不同部分: 变量的名称 可以存储在变量中的数据的类型 存储在计算机内存中的实际值 您已了解计算机如何使月名称作为值的占位符。数据类型也非常重要。当您在 Action Script中创建变量时:请指定此变量打 算支持的特定数据类型。岀后,程序的指令在此变量中夂可存储该类型的数据。您可以使用与值的数据类型相关联的特定特性 处理值。在 ActionScript中,若要创建一变量(称为声明变量),应使用var语旬: var value: Number 此示例要求计算叽创建名为 valuel的变量,此变量仅接受支持 Number数据。(“ Number”是 Action Script中定义的特定数 据类型。)您还可以立即在变量屮存储一个值: 上次更新2011/5/17 学习使用 ACTIONSCRIPT3.0 Action Script快速入门 Adobe flash professional 在 Flash professional中,还有另外一种变量声明方法。在将一个影片剪辑元件、安钮元件或文木字段放置在舞台上时,可以 在属性检查器为它指定一个实例名称。 Flash Professional在后台创建与实例同名的变量。可在 Action Script代码中使用该 名称表示该舞台项。例如,假设舞台上有一个影片剪辑元作,并为其指定了实例名称 rocketShip只要繁在 Action Script代码 中使用变量 rocket Ship,实上就是在操作该影片剪辑 常量类似于变量。它是使用指定的数据类型表小计算机内存中的值的名称。不同之处在于,在 Action Script应用程序运行期 间只能为常量赋值一次。一旦为其个常量赋值之后,该常量的值在整个应用程序运行期间都保持不变。声明常量的语法与声明 变量的诏法儿乎相同。唯一的不同之欠在于,需要使用关键字 const,而不是关键字var const sALES TAX RAtE: Number =0.57 如需定义在整个项目屮多个位置使用且正常情况下不会更改的值,则常量非常有用。使用常量而不使用字面值能让代码更加便 于珒解。例如,我们看一下同一代码的两种版本。一个用 SALES TAX RATE与价格相乘c另一个则用007与价格相乘。使用 SALES TAX RATE常量的版本较易理解。另外,假没用常量定义的值确实需要更改。如果您使用常量在整个项目中表示特定 值,可以在一处位置更改此值(常量声哄)。相反,如果您使用硬编码的字面值,则必须在各个位置更攻此值。 数据类型 在 Action Script中,您可以很多数据类型用作创建的变量的数据类型。某些数据类型可以看作“简单”或“基础”数掂类 String:文本值,例如,一个名称或书中某一章的文字 · Numeric:对于 numeric型数据, Action Script3.0包含三种特定的数据类型 · Number:任何数值,包括有小数部分或没有小数部分的值 lnt:一个整数(不带小数部分的整数) Uint:一个“无符号”整效,即不能为负数的整数 Boolean:一个true或 false值,例如开关是否开启或两个值是否相等 简单数据类型表示单条信息:例如,单个数字或单个文本序列。不过, ActionScript屮定义的大多数数据类型可能是复杂数据 类型。它们表示单一谷器中的一组值。例如,数据类型为Date的变量表示单一值(某个时刻)。然而,该日期值以多个值表 示:大、月、年、小时、分钽、秒,等等,这些值都为单独的数字。人们一般认为日期为单一值,您可以通过创建Date变量 将日期视为单一值。不过,在计算机内部,计算机认为它是共冋定义一个日期的一组值 大部分内置数据类型以及程序员定义的数据类型都是复杂数据类型。您可能知道下面的一复杂数据类型: Movie Clip:影片剪辑元件 Text field:动态文本字段或输入文本字段 Simple Button:按钮元件 Date:有关时间中的某个片刻的信息(日期和时间 经常用作数据类型的同义词的两^词是类和对象。类只是数据类型旳定义、它像^适用于某数据类型的所有对象的模板,就 好像说“示例数据类型的所有变量都具有以下特性:A、B和C”。另一方面,对象只是类的实际实例。例如,数据类型为 Movie Clip的变量可以被描述为 MovieClip对象ε下面几条陈述虽然表达的方式不司,但意思是相同的 变量 my variable的数据类型是 Number o 变量 my variable是一个 Number实例。 ·变量 my variable是一个 Number xv象。 变量 my variable是 Number类的一个实例。 上次更新2011/5/17 学习使用 ACTIONSCRIPT3.0 Action Script快速入门 使用对象 ActionScript是和面叵对象的编桯语言。面间对象的编程只是种编程方法。組织糧序中代码的方法确实只有种,即使用 对象 术诌计算机程序”口些时候定义为计算机执行的一系列步骤或指令。所以,从概念上讲,您可以认为计算机程序就是一个很 长的指令列表。然而,在面向对象的编程中,程指令分布在不同对象中。代码被编组为功能区块,因此相关的功能类型或相 关的各条信息被编组到一个容器中。 Adobe flash professional 如果烋已在 Flash professional中使用过元件,就应该已习惯使用对象了。假定您定义了一个影片剪辑元件(例如矩形绘 制),并已在舞台上放置了其副本。从严格意义上来说,该影片剪辑元件也是 Action Script中的个对象;图 Movie Clip类 的一个实例。 您可以修改该影片剪c的不冋特征。选择该影片剪辑元件后,您可以在属性检查器屮更改值(如元件的X坐标或宽度)。您还 可以进行冬种颜气调整,例如更改其Δlpha(透明度)或对其应用投影滤镜。还可以使用其他 Flash professional工具进行更 多更改,例如,使用目由变换工具旋转矩豗、 Flash professional中可用于修改影片剪辑元件的所有这些方法,在 ActionScript中也提供。通过更改合在一起组成称为 MovieClip对象的单一绑定的各种数据,可以在 ActionScript中修改影 片剪辑。 在 Action Script亩向对象的编程中,任何类都可以包含三和类型的特性 属性 户法 事件 这些元素用于管理程序使用的各种数据并决定汍行哪些桑作及执行顺序 属性 属性表示某个对象中绑定在一起的若十数据块中的一个。例如,song对象可以包含名为art和ttle的属性; Movie(lp类 具有 rotation、x、 width和 alpha等属性。您可以像使用各变量那样使用属性。事实上,您可以简单地将属性视为包含于对象 中的“子”变量。 以下是一些使用属性的 Action Script代码的示例。以下代码行将名为 square的 Movie Clip移动到100个像素的x坐标处 square. x =100: 此代码使用 rotation属性旋转 square MovieClip,以便与 triangle Movie Clip的旋转相匹酤 square. rotation triangle rotation; 此代码改变了 square Movie Clip的水平缩放,使其宽度变为之前的1.5倍: square. scalex.5 请注意上面几个小例的通用结构:将变量( square和 triangle)用作对象的名称,后跟一个句点()和属性名(x、 rotation和 scalex)。句点称为点运算符,用于指示悠要访坷对象的某个子元素。整个结构“变量名-点-属性名”的使用类似于单个变 量,作为计算机内存中的单个值的名称。 方法 方法是对象可执行的动作。例如,假设您在 Flash professional中的时间轴上创建了带有多个关铤帧和动画的影片剪辑元件。 影片剪辑可以播放、停忙或根据命令洊播放头移动到特定咖。 上次更新2011/5/17 学习使用 ACTIONSCRIPT3.0 Action Script快速入门 下面的代码指示名为 shortfilm的 MovieClip开始播放: shortFilm play()i 下面的代码行使名为 short film的 Movie Clip停止播放〈播放头停在原地,就像暂停播放视频一样) shortFilm. stop() 卜的代凸使名为 short filn的 Movieclip将其播放头栘到笫1帧,然后停止播放(就像后退祧频一样) shortFilT. gotoArdstop(1)i 您可以道过依次写下对象名(变量)、句点、方法名和小括号汸问方法,这与属性类似。小括号用于指示要调用方法(即指 示对象执行该操作)。有时,为了传递执行动作所必需的额外信息,也将值(或变量)放入小括号中。这些值称为方法参数。 例如, goloAndStoPO方法需要关于转到哪帧的信息,所以要求小括号口有个参数。有些方法(如plyO和sp()自身的 意义已非常明确,因此不需要额外信息。但书写时仍然带有小括号 与属性(和变量)不同的是,方沄不能用作值占位符。然而,一些方法可以执行计算并返回可以像变量一样使用的果。例 如, Number类的 toString()方法将数转换为文本表示形式 var numeri cData: Numer -g var textData: String numericData. tostring () 例如,如果希望在屏幕上的文本字段中显示 Number变量的值,应使用 toString()方法 c Text Field类的text属性定义为 String,只能包含文本值。(文本 property表示屏幕上显示的实阪文本内容。)此行代码将变量 numericData中的数值转换 为文本。然后,使该信显示在屏幕上名为 calculatorDisplay的 TextField对象中 calculatcrDisplay tex numericData. tostring(): 事件 计算机程序就是算杋分步执行的一系列指令。一些简单旳计算机程序仅包括计算机要执行的几个步骤以及程序的结柬点。然 而, ActionScript程序可以保持运行、等待用户输入或等待其他事件发生。事件是确定计算机执行哪些指令以及何时执行的机 本质上,事件就是所发生的、 Action Script能够认別可响应的事情。许多事件与用户交互相关联,诸如用户单击某个妄钮或 按键盘上的某个键之类,还有其他类型的荨件。例如,如朱使用 ActionScript加载夕部图像,有个事件可让您知道叁像何时 加载完毕。当 Action Script程序运行时,从概念上讲,它只是坐等杗些享凊发生。发生这些事凊时,为这些事件指定的特定 Action Script代码将运行。 基本事件处理 用于指定为响应痔定事件而执行的特定操作的技术称为事作处堐。在编写执行事件处理的 Action Script代码时,您需要识划 个重要元素: 事件源:发生该事件的是哪个对彖?例如,单击了哪个按钮,或哪个 Loader对象正在加载图像?事件源也称为事件目标。 之所以有此名称,是因为它是计算机确定事件的目标位置的对象(也就是说,实际发牛事件的位置)。 事件:将要发生什么事情,以及您希望响应什么事情?识别特定事件非常重要,因为许多对象都会触发多个事件。 响应:当事件发生时,您希望执行哪些步骤? 无论何时编写 Action Script代码米处理事件,都要求使用这三个元素。代码遵循以下基本结杓(粗体元素是白位符,您要根 据自三的具体情况填充 function eventResponse(eventobject: Eventrype):vo / Actions performed ir response to the event go here eventsource. addEvcntListcncr(EventType EVENT NAME, cvcntRcspons 上次更新2011/5/17

...展开详情
试读 106P action script 3.0使用指南
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
上传资源赚钱or赚积分
最新推荐
action script 3.0使用指南 50积分/C币 立即下载
1/106
action script 3.0使用指南第1页
action script 3.0使用指南第2页
action script 3.0使用指南第3页
action script 3.0使用指南第4页
action script 3.0使用指南第5页
action script 3.0使用指南第6页
action script 3.0使用指南第7页
action script 3.0使用指南第8页
action script 3.0使用指南第9页
action script 3.0使用指南第10页
action script 3.0使用指南第11页
action script 3.0使用指南第12页
action script 3.0使用指南第13页
action script 3.0使用指南第14页
action script 3.0使用指南第15页
action script 3.0使用指南第16页
action script 3.0使用指南第17页
action script 3.0使用指南第18页
action script 3.0使用指南第19页
action script 3.0使用指南第20页

试读结束, 可继续阅读

50积分/C币 立即下载 >