ActionScript版本对比
作者&投稿:郯梅 (若有异议请与网页底部的电邮联系)
只能重新编写代码,没有自动转换这么高智能的东西。
编程语言的版本,2004的是actionscript 1.0和actionscript 2.0
现在最新版本的编程语言是3.0的。
虽然 ActionScript 3.0 包含 ActionScript 编程人员所熟悉的许多类和功能,但ActionScript 3.0 在架构和概念上是区别于早期的 ActionScript 版本的。ActionScript 3.0
中的改进部分包括新增的核心语言功能,以及能够更好地控制低级对象的改进 Flash Player
API。
核心语言功能
核心语言定义编程语言的基本构造块,例如语句、表达式、条件、循环和类型。
ActionScript 3.0 包含许多加速开发过程的新功能。
运行时异常
ActionScript 3.0 报告的错误情形比早期的 ActionScript 版本多。运行时异常用于常见的错误情形,可改善调试体验并使您能够开发可以可靠地处理错误的应用程序。运行时错误可提供带有源文件和行号信息注释的堆栈跟踪,以帮助您快速定位错误。
运行时类型
在 ActionScript 2.0 中,类型注释主要是为开发人员提供帮助;在运行时,所有值的类型都是动态指定的。在 ActionScript 3.0 中,类型信息在运行时保留,并可用于多种目的。FlashPlayer 9 执行运行时类型检查,增强了系统的类型安全性。类型信息还可用于以本机形式表示变量,从而提高了性能并减少了内存使用量。
密封类
ActionScript 3.0 引入了密封类的概念。密封类只能拥有在编译时定义的固定的一组属性和方法;不能添加其它属性和方法。这使得编译时的检查更为严格,从而导致程序更可靠。由于不要求每个对象实例都有一个内部哈希表,因此还提高了内存的使用率。还可以通过使用dynamic 关键字来实现动态类。默认情况下,ActionScript 3.0 中的所有类都是密封的,但可以使用 dynamic 关键字将其声明为动态类。
闭包方法
ActionScript 3.0 使闭包方法可以自动记起它的原始对象实例。此功能对于事件处理非常有用。在 ActionScript 2.0 中,闭包方法无法记起它是从哪个对象实例提取的,所以在调用闭包方法时将导致意外的行为。mx.utils.Delegate 类是一种常用的解决方法,但已不再需要。
ECMAScript for XML (E4X)
ActionScript 3.0 实现了 ECMAScript for XML (E4X),后者最近被标准化为 ECMA-357。
E4X 提供一组用于操作 XML 的自然流畅的语言构造。与传统的 XML 分析 API 不同,使用 E4X 的 XML 就像该语言的本机数据类型一样执行。E4X 通过大大减少所需代码的数量来简化操作 XML 的应用程序的开发。有关 ActionScript 3.0 实现的 E4X 的详细信息,请参阅第293 页的第11 章“处理 XML”。
要查看 ECMA 的 E4X 规范,请访问 www.ecma-international.org。
正则表达式
ActionScript 3.0 包括对正则表达式的固有支持,因此您可以快速搜索并操作字符串。
由于在 ECMAScript (ECMA-262) 第 3 版语言规范中对正则表达式进行了定义,
因此 ActionScript 3.0 实现了对正则表达式的支持。
命名空间
命名空间与用于控制声明(public、private、protected)的可见性的传统访问说明符类似。它们的工作方式与名称由您指定的自定义访问说明符类似。命名空间使用统一资源标识符 (URI) 以避免冲突,而且在您使用 E4X 时还用于表示 XML 命名空间。
新基元类型ActionScript 2.0 拥有单一数值类型 Number,它是一种双精度浮点数。ActionScript 3.0包含 int 和 uint 类型。int 类型是一个带符号的 32 位整数,它使 ActionScript 代码可充分利用 CPU 的快速处理整数数学运算的能力。int 类型对使用整数的循环计数器和变量都非常有用。uint 类型是无符号的 32 位整数类型,可用于 RGB 颜色值、字节计数和其它方面。
Flash Player API 功能
ActionScript 3.0 中的 Flash Player API 包含许多允许您在低级别控制对象的新类。语言的
体系结构是全新的并且更加直观。由于需要在这里详细介绍的新类实在太多,因此以下各节
将着重介绍一些重要的更改。
DOM3 事件模型
文档对象模型第 3 级事件模型 (DOM3) 提供了一种生成并处理事件消息的标准方法,以使应用程序中的对象可以进行交互和通信,同时保持自身的状态并响应更改。通过采用万维网联盟 DOM 第 3 级事件规范,该模型提供了一种比早期的 ActionScript 版本中所用的事件系统更清楚、更有效的机制。
事件和错误事件都位于 flash.events 包中。Flash 组件框架使用的事件模型与 Flash PlayerAPI 相同,因此事件系统在整个 Flash 平台中是统一的。
显示列表 API
用于访问 Flash Player 显示列表的 API(包含 Flash 应用程序中的所有可视元素的树)由处
理 Flash 中的可视基元的类组成。
新增的 Sprite 类是一个轻型构造块,它类似于 MovieClip 类,但更适合作为 UI 组件的基
类。新增的 Shape 类表示原始的矢量形状。可以使用 new 运算符很自然地实例化这些类,并
可以随时动态地重新指定其父类。
现在,深度管理是自动执行的并且已内置于 Flash Player 中,因此不需要指定深度编号。提供了用于指定和管理对象的 z 顺序的新方法。
处理动态数据和内容
ActionScript 3.0 包含用于加载和处理 Flash 应用程序中的资源和数据的机制,这些机制在API 中是直观的并且是一致的。新增的 Loader 类提供了一种加载 SWF 文件和图像资源的单一机制,并提供了一种访问已加载内容的详细信息的方法。URLLoader 类提供了一种单独的机制,用于在数据驱动的应用程序中加载文本和二进制数据。Socket 类提供了一种以任意格式从/ 向服务器套接字中读取/ 写入二进制数据的方式。
低级数据访问
各种 API 提供了对数据的低级访问,而这种访问以前在 ActionScript 中是不可能的。对于正在下载的数据而言,可使用 URLStream 类(由 URLLoader 实现)在下载数据的同时访问原始二进制数据。使用 ByteArray 类可优化二进制数据的读取、写入以及处理。使用新增的 Sound API,可以通过 SoundChannel 类和 SoundMixer 类对声音进行精细控制。新增的处理安全性的 API 可提供有关 SWF 文件或加载内容的安全权限的信息,从而使您能够更好地处理安全错误。
处理文本
ActionScript 3.0 包含一个用于所有与文本相关的 API 的 flash.text 包。TextLineMetrics类为文本字段中的一行文本提供精确度量;它取代了 ActionScript 2.0 中的TextField.getLineMetrics() 方法。TextField 类包含许多有趣的新低级方法,它们可以提供有关文本字段中的一行文本或单个字符的特定信息。这些方法包括 getCharBoundaries()(返回一个表示字符边框的矩形)、getCharIndexAtPoint() (返回指定点处字符的索引)以及 getFirstCharInParagraph() (返回段落中第一个字符的索引)。行级方法包括
getLineLength() (返回指定文本行中的字符数)和 getLineText() (返回指定行的文本)。
新增的 Font 类提供了一种管理 SWF 文件中的嵌入字体的方法。
比选帕得: 就目前来说3.0会大范围使用,因为2.0出来得比较早所以普及率较高,但代码的管理不如3.0,就比如包和类的管理来说2.0功能不够完备,而且写法比较复杂.所以3.0将会取代2.0更好的推出更多的flash作品.
五常市17136733280: ActionScript3.0和2.0有什么区别呢??? - ?
比选帕得: ActionScript 是一种基于 ECMAScript 的编程语言,用来编写 Adobe Flash 电影和应用程序.在AS2中,虽然也是OOP标准,但是在实际的编程中,他更加自由化,在编程风格上,代码并非非常的严谨.ActionScript 3.0 是一种强大的面向对象编程语言.修改了AS以前版本的语法结构,让AS真正变成了面向对象,更加结构化,系统化,使编写代码的风格更加标准化.具体的AS3视频教程,请参考以下网站 www.adobebar.cn
五常市17136733280: actionscript2.0跟actionscript3.0有什么区别.初学者应该是学那个 - ?
比选帕得: 如果你没有学过actionscript 2.0,最好了,可以直接学习actionscript 3.0.2.0 和 3.0做了很多改进,例如2.0可以直接在按钮上加代码,而3.0则要在帧了添加按钮代码.语法方面也有些不同.很多 AS2.0 程序设计师已经投奔到AS 3.0下了.如果...
五常市17136733280: actionscript 2.0跟3.0相比,有哪些差别? - ?
比选帕得: actionscript 2.0是否简陋,支持的类少而简,运行速度也慢…… actionscript 3.0开始才有点规范,独立的类变得常用,支持了更多的语句和类,自编类的功能多了,运行速度也快了些…… 还有,actionscript 3.0的影片至少要FlashPlayer9.0才能播放.
五常市17136733280: flash文件actionscript3.0和actionscript2.0有什么区别 - ?
比选帕得: 相同点: 1、都是FLASH脚本语言 2、都是用于开发FLASH交互应用的程序语言 不同点: 1、书写规范上,AS3不再允许在按钮元件或者影片剪辑元件上添加动作代码. 2、点击或其它事件处理中,AS3必须添加侦听才可以使用,去掉侦听才会停止,而AS2不是很严格. 3、很多类名的更换,如AS2中的_x,_y_parent等都去掉了前面的下划线. 4、运行性能的改进,AS3的运行性能要比AS2快十倍. 以上只是几点比较明显的区别,还有一些可以在AS3的帮助中查找 到.
五常市17136733280: ActionScript2.0还是3.0 学哪个好? - ?
比选帕得: 2.0徘徊在过时与不过时的边缘, 如果你是个做普通效果的,或者平面的,2.0足够了,并且普通效果2.0要快,代码要少;如你要做按钮动作,2.0写法:btn.on(press){}//貌似这样,快忘记了;而3.0要加侦听什么的:btn.addEventListener(...
五常市17136733280: Flash文件(actionscript3.0)与Flash文件(actionscript2.0)直接有什么区别? - ?
比选帕得: AS2.0编写时语言很简单,而AS3.0较为复杂.但是AS3.0比AS2.0运算速度快了几十倍. 不会的不要乱说,AS3.0只有在建立外部脚本时才需要import相应类的,在程序内的编写跟AS2.0一样是不用import类的. 举个例: 在AS2.0中的on(press){...
五常市17136733280: flash cs4的action script 2.0和3.0有什么区别啊,分别适用于什么不同的环境???????
比选帕得: as3更面向对象,as3性能更强采用avm2(actionscript 虚拟机2代),更适合程序员. 直接了当的说as2将要会很少人要,很少人用.未来上as3的.建议你不考虑区别直接上as3,as3也容易学,只要用心.
五常市17136733280: ActionScript 2.0和3.0和Flash JaveScript区别 - ?
比选帕得: ActionScript(简称AS)是FLASH5之后版本里的内置脚本语言,目前已发布的AS版本共有3个分别为1.0,2.0,3.0,Flash5,FlashMX内的AS版本为1.0,Flash Mx 2004和FLASH 8内的AS版本为2.0,FLASH 9 CS3内采用的是AS3.0,你能看到AS2.0是...
五常市17136733280: ︶●.○︶﹏↘u. ActionScript 哪个版本应用最广??
比选帕得: ActionScript2目前应用比较广泛,随着flash cs3的发布ActionScript3会逐渐成为主流~!