ActionScript 3.0 中的 API 包含许多可用于在低级别控制对象的类。语言体系结构的设计比早期版本更为直观。虽然有太多的类需要详细介绍,但是一些重要的区别更值得注意。
DOM3 事件模型
文档对象模型级别 3 事件模型 (DOM3) 提供了一种生成和处理事件消息的标准方式。这种事件模型的设计允许应用程序中的对象进行交互和通信、维持其状态以及响应更改。ActionScript 3.0 事件模型的模式遵守万维网联合会 DOM 级别 3 事件规范。这种模型提供的机制比早期版本的 ActionScript 中提供的时间系统更清楚、更有效。
事件和错误事件都位于 flash.events 包中。Flash Professional 组件和 Flex 框架使用的事件模型相同,因此整个 Flash Platform 中的事件系统是统一的。
显示列表 API
用于访问显示列表(包含应用程序中所有可视元素的树)的 API 由使用可视基元的类组成。
Sprite 类是一个轻型构建基块,被设计为可视元素(如用户界面组件)的基类。Shape 类表示原始的矢量形状。可以使用
new
运算符很自然地实例化这些类,并可以随时动态重新指定其父类。
深度管理是自动进行的。提供了用于指定和管理对象的堆叠顺序的方法。
处理动态数据和内容
ActionScript 3.0 包含用于加载和处理 应用程序中的资源和数据的机制,这些机制在 API 中是直观的并且是一致的。Loader 类提供了一种加载 SWF 文件和图像资源的单一机制,并提供了一种访问已加载内容的详细信息的方式。URLLoader 类提供了一种单独的机制,用于在数据驱动的应用程序中加载文本和二进制数据。Socket 类提供了一种以任意格式从/向服务器套接字中读取/写入二进制数据的方式。
低级数据访问
多种 API 都提供对数据的低级访问。对于正在下载的数据而言,可使用 URLStream 类在下载数据的同时访问原始二进制数据。使用 ByteArray 类可优化二进制数据的读取、写入以及使用。使用 Sound API,可以通过 SoundChannel 类和 SoundMixer 类对声音进行精细控制。安全性 API 提供有关 SWF 文件或加载内容的安全权限的信息,使您能够更好地处理安全错误。
使用文本
ActionScript 3.0 包含一个用于所有与文本相关的 API 的 flash.text 包。TextLineMetrics 类为文本字段中的一行文本提供精确度量;该类取代了 ActionScript 2.0 中的
TextFormat.getTextExtent()
方法。TextField 类包含可以提供有关文本字段中一行文本或单个字符的特定信息的低级别方法。例如,
getCharBoundaries()
方法返回一个表示字符边框的矩形。
getCharIndexAtPoint()
方法返回位于指定点的字符的索引。
getFirstCharInParagraph()
方法返回段落中第一个字符的索引。行级方法包括
getLineLength()
(返回指定文本行中的字符数)和
getLineText()
(返回指定行的文本)。Font 类提供了一种管理 SWF 文件中的嵌入字体的方法。
为了对文本进行更低级别的控制,flash.text.engine 包中的类组成了 Flash 文本引擎。这组类提供对文本的低级控制,是针对创建文本框架和组件而设计的。