新手学ActionScript 3.0
文章类别:
- 24 9 月, 2022
- 0 条评论
你必须注册后才能投票!
快捷索引
ActionScript 的老版本(ActionScript 1.0 和 2.0)提供了创建效果丰富的 Web 应用程序所需的功能和灵活性。ActionScript 3 现在为基于 Web 的应用程序提供了更多的可能性。它进一步增强了这种语言,提供了出色的性能,简化了开发的过程,因此更适合高度复杂的 Web 应用程序和大数据集。ActionScript 3 可以为以 Flash Player 为目标的内容和应用程序提供高性能和开发效率。
ActionScript 3 符合 ECMAScript Language Specification 第三版。它还包含基于 ECMAScript Edition 4 的功能,比如类、包和名称空间;可选的静态类型;生成器和迭代器;以及非结构化赋值(destructuring assignments)。随着 Web 应用程序项目需求的增长,也要求 ActionScript 引擎有重大的突破。ActionScript 3 引入了一个新的高度优化的 ActionScript Virtual Machine(AVM2),与 AVM1 相比,AVM2 的性能有了显著的提高。这使 ActionScript 3 代码的执行速度几乎比以前的 ActionScript 代码快了 10 倍。Flash Player 9 中包含 AVM2(ActionScript 3.0 的脚本语言引擎),设计它的目的是提供互联网应用程序开发人员所需的性能和特性。为了向后兼容现有的内容,Flash Player 将继续支持 AVM1。
能够利用 ActionScript 3.0 的产品
有许多产品都生成以 Flash Player Runtime 为目标的内容和应用程序,包括 YouTube、Flickr、SWiSH 和 ScreenTime。这些产品能够利用 ActionScript 在自己的输出中添加交互和行为。在 Adobe 产品系列中,专业设计人员可以在几种工具和服务器中使用 ActionScript,比如 Flash、Flex 和 Flash Media Server,从而为 Flash Player Runtime 创建内容和应用程序。Flex 产品系列(包括基于 Eclipse 的新的 Flex Builder 2 IDE)是第一个能够使用 ActionScript 3.0 的新功能的产品系列。
概述
从 ActionScript 3 的一般特性开始,我将讨论一下目标、语言特性和 Flash Player API 特性。还要讨论 ActionScript 3 中的新特性和不太为人所知的特性。在 2006 年 11 月 7 日,在旧金山召开的 WEB 2.0 会议上,Adobe Systems 宣布将 ActionScript Virtual Machine 的源代码捐献给 Mozilla Foundation。Mozilla 启动了一个新的开放源码项目 Tamarin,其目的是促进这种创建 Web 应用程序的标准化方法的开发。
ActionScript 3 有两类特性:语言特性和 Flash Player API 特性。语言特性基本上是在 ActionScript 2 之上构建的,但是还有一些性能和功能方面的改进,包括:
-许多运行时异常,用来改进常见的错误处理和调试。这些运行时异常会显示堆栈跟踪,可以帮助开发人员轻松地找到错误的根源。以前的 ActionScript 版本会悄悄地掩盖错误,以避免在 Flash 中出现错误消息对话框。这在开发期间会造成困难,因为开发人员不了解可能出现的错误,就无法开发出好产品。
-在运行时存储类型细节,用来进行检查并保护系统,因此 ActionScript 3 是强类型的。这还有助于减少内存使用量,因为类型信息以本机机器表示法表示变量。
-ActionScript 3 完全符合 ECMAScript 第四版规范,这可以简化 XML 解析。
ActionScript 3 的 Flash Player API 特性包括:
-DOM3 事件模型提供了生成和处理事件消息的标准方法,这有助于在对象之间进行更好的通信和交互。
-新的 Loader 类提供了装载 Shockwave Flash 和图像的单一机制,并提供访问关于被装载内容的详细信息的方法。URLLoader 类提供了在数据驱动应用程序中装载文本和二进制数据的单独机制。
-Socket 类提供了以任何格式对服务器套接字读写二进制数据的方法。
-ActionScript 3.0 包含一个 flash.text 包,它提供与文本相关的所有 API。
下面是其他一些新功能。
Loader.loadBytes()
这个方法可以从二进制数据直接创建显示列表中的条目。例如,在我的电子邮件客户机上,如果从 Pop3 服务器上下载的一个电子邮件包含附件,就检查附件的 mime-type。如果这种类型是播放器支持的,那么就可以将附件的二进制源代码读入 ByteArray,并在 Flash Player 中显示这个附件。这意味着我的电子邮件客户机可以显示 PNG、JPEG、GIF 和 SWF 附件。
Sound.computeSpectrum()
这个方法分析播放的所有声音并返回一个 ByteArray,其中包含 512 个归一化的值(-1 到 1),可以使用它们显示声音波形(256 个值用于左声道,256 个值用于右声道)。可以使用这些值为 Media Players 创建 Audio Equalizers 以及对播放的声音做出反应的视觉效果。
BitmapData.getPixels()
这个方法返回一个 ByteArray,其中包含位图的指定矩形区域中每个像素的十六进制颜色值。可以将这个方法与新的 ZLib 压缩方法 ByteArray.compress() 结合使用,从而将位图压缩,然后再发送给服务器,这样就能够将它转换为一个适合下载的文件。
Loader.close()
现在,可以停止播放器装载外部媒体的过程。在过去,如果将一个图像装载进播放器,那么在完成处理之前无法停止。现在可以这么做了。
ActionScript 3 的优点
这个新版本具有以下优点:
-这种语言支持类型安全性,使代码维护更轻松。
-与其他语言相比,这种语言相当简单,很容易编写。
-开发人员可以编写具有高性能的响应性代码。
-这种语言向后兼容 ActionScript 2 并向前兼容 ECMAScript for XML(E4X)。
会员福利
同类文章
文章类别:
本文链接: https://www.books51.com/30478.html
【点击下方链接,复制 & 分享文章网址】
新手学ActionScript 3.0 → https://www.books51.com/30478.html |
上一篇: Adobe Flash CS4教程
下一篇: flash动作编程教程
你必须注册后才能投票!
最新评论