选择 DisplayObject 子类

Flash Player 9 和更高版本,Adobe AIR 1.0 和更高版本

可选的子类有多个,使用显示对象时要做出的一个重要决策是:每个显示对象的用途是什么。以下原则可以帮助您作出决策。无论是需要类实例,还是选择要创建的类的基类,这些建议都适用:

  • 如果不需要可作为其他显示对象的容器的对象(即只需要用作独立屏幕元素的对象),请根据用途选择 DisplayObject 或 InteractiveObject 两个子类中的一个:

    • 用于显示位图图像的 Bitmap。

    • 用于添加文本的 TextField。

    • 用于显示视频的 Video。

    • 用于绘制屏幕内容的“画布”的 Shape。特别是,如果要创建用于在屏幕上绘制形状的实例,而该实例不是其他显示对象的容器,则使用 Shape 比使用 Sprite 或 MovieClip 有明显的性能优势。

    • 用于由 Flash 创作工具创建的项的 MorphShape、StaticText 或 SimpleButton。(无法以编程方式创建这些类的实例,但可以通过创建具有这些数据类型的变量来引用使用 Flash 创作工具创建的项。)

  • 如果需要使用变量来引用主舞台,请使用 Stage 类作为其数据类型。

  • 如果需要容器来加载外部 SWF 文件或图像文件,请使用 Loader 实例。加载的内容将作为 Loader 实例的子级添加到显示列表中。其数据类型将取决于加载内容的性质,如下所示:

    • 加载的图像将是 Bitmap 实例。

    • 使用 ActionScript 3.0 编写的已加载 SWF 文件将是 Sprite 或 MovieClip 实例(或这些类的子类的实例,由内容创建者指定)。

    • 使用 ActionScript 1.0 或 ActionScript 2.0 编写的已加载 SWF 文件将是 AVM1Movie 实例。

  • 如果需要将一个对象用作其他显示对象的容器(无论是否还要使用 ActionScript 在显示对象上进行绘制),请选择其中一个 DisplayObjectContainer 子类:

    • 如果对象是只使用 ActionScript 创建的,或者如果对象作为只使用 ActionScript 创建和处理的自定义显示对象的基类,请选择 Sprite。

    • 如果要通过创建变量来引用在 Flash 创作工具中创建的影片剪辑元件,请选择 MovieClip。

  • 如果要创建的类与 Flash 库中的影片剪辑元件关联,请选择其中一个 DisplayObjectContainer 子类作为该类的基类:

    • 如果关联的影片剪辑元件在多个帧上有内容,请选择 MovieClip

    • 如果关联的影片剪辑元件仅在第一帧上有内容,请选择 Sprite