Selección de una subclase DisplayObject

Flash Player 9 y posterior, Adobe AIR 1.0 y posterior

Una de las decisiones importantes que hay que tomar cuando se trabaja con objetos de visualización es elegir qué objeto de visualización se va a utilizar para cada propósito. A continuación se ofrecen algunas directrices que pueden ser útiles en la toma de esta decisión. Estas mismas sugerencias se aplican tanto si se necesita una instancia de una clase como si se elige una clase base para una clase que se esté creando:

  • Si no se necesita un objeto que pueda ser un contenedor de otros objetos de visualización (es decir, que solo se necesita uno que actúe como un elemento de pantalla autónomo), debe elegirse una de estas subclases DisplayObject o InteractiveObject, dependiendo del uso que se le vaya a dar:

    • Bitmap para mostrar una imagen de mapa de bits.

    • TextField para añadir texto.

    • Video para mostrar vídeo.

    • Shape para obtener un "lienzo" donde dibujar contenido en pantalla. En concreto, si se desea crear una instancia para dibujar formas en la pantalla y no se va a utilizar como contenedor de otros objetos de visualización, se obtendrán importantes ventajas de rendimiento si se usa Shape en lugar de Sprite o MovieClip.

    • MorphShape, StaticText o SimpleButton para los elementos creados con la herramienta de edición de Flash. (No es posible crear instancias de estas clases mediante programación, pero sí crear variables con estos tipos de datos para hacer referencia a los elementos creados con la herramienta de edición de Flash.)

  • Si se necesita una variable para hacer referencia al escenario principal, debe usarse la clase Stage como su tipo de datos.

  • Si se necesita un contenedor para cargar un archivo SWF o un archivo de imagen externo, se debe usar una instancia de Loader. El contenido cargado se añadirá a la lista de visualización como un elemento secundario de la instancia de Loader. Su tipo de datos dependerá de la naturaleza del contenido cargado, como se indica a continuación:

    • Una imagen cargada será una instancia de Bitmap.

    • Un archivo SWF cargado, escrito en ActionScript 3.0, será una instancia de Sprite o MovieClip (o una instancia de una subclase de esas clases, según lo especifique el creador de contenido).

    • Un archivo SWF cargado, escrito en ActionScript 1.0 o ActionScript 2.0, será una instancia de AVM1Movie.

  • Si se necesita que un objeto actúe como contenedor de otros objetos de visualización, aunque se vaya a dibujar o no en el objeto de visualización mediante ActionScript, debe elegirse una de las subclases de DisplayObjectContainer:

    • Sprite si el objeto se creará solamente con ActionScript, o como la clase base de un objeto de visualización personalizado que se creará y manipulará exclusivamente con ActionScript.

    • MovieClip si se crea una variable para hacer referencia a un símbolo de clip de película creado en la herramienta de edición de Flash.

  • Si se crea una clase que se asociará a un símbolo de clip de película en la biblioteca de Flash, se debe elegir una de las siguientes subclases de DisplayObjectContainer como clase base:

    • MovieClip si el símbolo de clip de película asociado tiene contenido en más de un fotograma.

    • Sprite si el símbolo de clip de película asociado tiene contenido solo en el primer fotograma.