日期:2013-11-23  浏览次数:20634 次

可以说这是我翻译的第一个ActionScript文件,虽然AS3.0吵的很大.但由于有关中文引见的还并不多见,所以翻译了这篇文章.这篇文章译自:http://labs.macromedia.com/wiki/index.php/ActionScript_3:overview 
由于英语水平和actionscript水平无限,也许有些错误之处,在此恳请斑主和大伙们指出,但同时也希望对大家有所用途。

ActionScript3.0概要

ActionScript 3.0 演化成一门强大的面向对象的编程言语意味着flash平台的严重变革。这种变化也意味着 ActionScript 3.0 将创造性地将言语理想地迅速地建立出顺应网络的丰富使用程序, 成为丰富网络使用(Rich Internet Application)项目的本质部分。比较晚期的ActionScript版本就曾经提供了这种要求为创造真实地参与在线体验的力量和灵活性。ActionScript 3.0 将促进和发展这种功用, 提供发展强大表现和温馨的先进的高度复杂使用, 结合大型数据库以及可移值性的面象对象的代码。拥有 ActionScript 3.0, 开发者可能达到高效执行效率和表现同一的平台。

ActionScript 3.0 基于ECMAScript, ECMAScript是所有编程言语的国际规范化的言语。ActionScript 3.0 同样服从ECMAScript言语规范。

ActionScript 由嵌入在flash player的ActionScript虚拟机 (AVM)执行。AVM1, 是执行以前版本的ActionScript的虚拟机, 今天变的愈加强大的flash平台使得可能创造出交互式媒体和丰富的网络使用。然而, AVM1却在挤压着开发者们的极限—— 他们的项目如今到了要求它变革的时辰了。ActionScript 3.0 带来了一个愈加高效的ActionScript 执行虚拟机—AVM2, 它将彻底的脱胎换骨于AVM1 。 它将意味着, ActionScript 3.0执行效率将比以前的ActionScript执行效率高出至少10倍。

新的AVM2 虚拟机将会嵌入于flash player8.5当中, 它将成为执行ActionScript的首先虚拟机。当然旧的AVM1将继续嵌入在flash player8.5当中以兼容以前的ActionScript。

有众多的产品把本身的展现和使用表现于flash player当中,这些产品的动画也经常使用到ActionScript 以添加互动和行为表现他们的产品。 在Macromedia 产品家族, 专业设计师和也许使用 ActionScript 在几个产品当中, 譬如Macromedia flash, Flex, 和Flash media servers创造出内容和使用表如今flash player当中。在Flex2 产品家族, 包括最新的基于Eclipe—的Flex Builder 2 IDE,会是系列产品中第一个使用ActionScript 3.0 的新体验的产品。

ActionScript 3.0的目标

我们需求ActionScript 3.0 提供一个先进的, 与编程模型分歧的, 服从业界标准, 以及表现将数量级大于我们过去的执行效能。虽然ActionScript 3.0 代表着flash平台一个新的编程模型,它也将会是一个让开发者熟悉的基础的面对对象的编程言语。

ActionScript3.0的出现将展现出如下目标

安全 – 它支持一定的安全以使得能够让开发者写出明白的, 容易的可维护的代码。
朴素 - 这种言语的直观程度使开发者能够直接读和写项目,而不需求经常参考手册
表现 - 这种言语使开发者写出高效率的和表现性强的复杂项目。
兼容性 - 这种言语抛弃不规范的言语标准以及提供向前兼容以及有意义的交替以符合业界标准。ActionScript 3.0 是规范化了的ActionScript 2.0, 增 加了ECMAScript 其中的XML使用(E4X) ,使得这 种言语融入ECMAScript全体连为一向。

ActionScript 3.0的特征

ActionScript 3.0 包括二部分: 核心言语和flash player API 。核心言语用于定义编程言语的结构, 譬如声明, 表示, 条件, 循环, 和类型 。flash player API是 由一系列精确定义flash player功用的类组成。

ActionScript 3.0 拥有尽可能的挖掘出计算机剩余功用的新特点。规则表示支持使操作性愈加强大的XML。 ECMAScript for XML (E4X) 使得XML 成为通用数据类型, 将大大地简化XML 处理。新的Display ListAPI将使虚拟对象愈加的协调分歧。 规范化的DOM 事件模型使得那些对象的表示和呼应结合的愈加强劲。当然这些只是ActionScript3.0许多新的体验当中的一部分。

actionscript3.0言语特点

ActionScript 3.0 的出现是ActionScript 2.0 的核心言语方面融入ECMAScript 以恪守其标准和引入新的改进的一些功用区域的结合。所有这些特点在ActionScript 3.0 言语参考中都有详细的引见和讨论, 可得到试用版正在Macromedia 实验室。下面是一些其开发者对其方便的地方和用法总结的一些新特点。

加强处理运转错误的能力

使用ActionScript 2.0时, 许多表面上“完满无暇”的运转错误无法得到记载。这使得flash player无法弹出提示错误的对话框, 就象javascript言语在晚期的浏览器中所表现的一样。也就是说, 这些缺少的错误报告使得我们不得不花更多精力去调试ActionScript 2.0程序。ActionScript 3.0 引入在编译当中容易出现的愈加广泛的错误的情形, 改进的调试方式使得能够健壮地处置使用项目当中的错误。提示的运转错误提供足够的附注(例出出错的源文件)和以数字提示的时间线, 协助开发者迅速的定位产生错误的位置。

对运转错误的处理方式

在ActionScript 2.0中,运转错误的注释次要提供应开发者一个协助,所有的协助方式都是动态的。而在ActionScript且是3.0中, 这些信息将被保存到一定的数量,Flash player将提供时间型检查以提高系统的运转安全。这些信息将记录下来用于监视变量在电脑中的运转情况, 以使得开发者能够让本人的使用项目得到改进以减少对内存的使用。

密封的类

ActionScript 3.0 将引入密封的类的概念。在编译时间内的的密封类拥有独一固定的特征和方法,其它的特征和方法不可能被加入。这使得比较紧密的编译时间检查成为可能, 创造出健壮的项目。因此它当然可以提高对内存的使用效率, 由于不需求为每一个对象实例添加内在的芜杂指令。当然动态类仍然可以使用只需声明为dynamic的关键字。

代理方式

在ActionScript 3.0中事件处理变的愈加简化归功于它的嵌入式代理方式。而在ActionScript 2.0中, 方法关闭后并没有记住什么对象事例援用了它们, 当调用曾经关闭的方法时将导致意想不到的后果。 Mx.utils.Delegate 类经常被使用,使用它时, 你写了代码如下:
myButton.addEventListener(“click”, Delegate.create(this, someMethod)); Delegate.create(this, someMethod)
在AS3.0中,这个类不再需求被引入, 当方法关闭时将自动地记住它的原始对象实例。如今, 你可以简单地写为: myButton.addEventListener(“click”, someMethod);

ECMAScript 中的 XML (E4X)

ActionScript 3.0 特点之一是全面支持ECMAScript中的 XML (E4X), 最新的规范标准为ECMA-357 。E4X 提供一种自然, 流利的言语使得能够快速的结构XML 。而不是象传统XML的解析接口一样, E4X使得XML成为通用的数据类型。E4X 简化操作XML将大大的减少相当 数量的代码以适用使用项目需求的发展。在这个网站你能学到更多关于E4X 的规格