Mostrar objetos y lista de visualización
"Show Object", el significado exacto de "Show Objects" es un objeto que se puede mostrar en la etapa. Los objetos que se pueden mostrar incluyen gráficos, texto, videos, imágenes, etc. que se pueden ver directamente, así como a los contenedores de objetos que no se pueden ver pero son reales.
En Egret, los gráficos visuales están compuestos por objetos de visualización y contenedores de objetos de visualización.
Si queremos expresar la escena en la imagen de arriba, ¿cómo debemos describirla de manera?
Mostrar estructura de jerarquía de objetos
En Egret, los objetos de visualización se dividen en dos categorías: uno es un contenedor de objetos de visualización que puede incluir otros objetos de visualización, denominados "contenedores". Otro tipo es un objeto de visualización simple, que no puede incluir otros objetos de visualización, excepto en sí mismo, y se conoce como "objeto no contenedor".
En las operaciones reales, podemos considerar tal estructura como una estructura de árbol, el contenedor puede entenderse como una rama, y los objetos no contenedores pueden entenderse como hojas.
En esta estructura tipo árbol, la superior es la "etapa". Correspondiente al programa, podemos ver un objeto stage . El escenario es el contenedor de visualización más fundamental en la arquitectura de pantalla Egret. Cada aplicación Egret tiene y solo un objeto de etapa. La etapa es el nodo raíz de esta estructura de árbol de visualización.
En el escenario, también tenemos un contenedor principal. Este contenedor es el contenedor creado por la clase de documento. Cada Egret tendrá una clase de documento, que debe ser un contenedor de objeto de pantalla.
En esta escena, incluimos un fondo de escena, y el fondo consiste en una imagen de fondo y un gran árbol. Los otros dos elementos están compuestos de personajes y un pastiz.
Lista de exhibición
El diagrama de estructura de objeto de pantalla en forma de árbol que vemos arriba es en realidad la "lista de visualización" de Egret.
Es muy conveniente usar listas de visualización para administrar objetos de contenedores y no contactores. Cuando un objeto de pantalla está en la lista de visualización, podemos ver el objeto en la pantalla. Cuando eliminamos el objeto de visualización de la lista de visualización, el objeto desaparece de la pantalla.
Hay una lista de visualización mantenida dentro de Egret. Los desarrolladores no necesitan preocuparse por cómo se ejecuta la lista. Solo necesita realizar las operaciones correspondientes en su objeto de visualización.
Mostrar tipos de objetos
Durante el proceso de diseño arquitectónico, Egret encapsula estrictamente todos los objetos en torno al concepto de visualización de listas. En Egret, todos los objetos de visualización se heredan desde DisplayObject . DisplayObject es el "objeto de visualización" que describimos anteriormente. En Egret, todos los "contenedores" se heredan de DisplayObjectContainer .
Para administrar la lista de visualización de manera uniforme, todos los objetos de visualización están unificados en la clase DisplayObject. Todos los objetos de visualización se heredan de DisplayObject, y DisplayObject se hereda de EventDisPatcher. Es decir, todos los objetos de visualización pueden enviar eventos.
DisplayObjectContainer muestra que la clase principal del contenedor de objeto también es DisplayObject.
En la operación real, simplificamos el concepto nuevamente, que se puede resumir en dos reglas:
Las clases heredadas directamente de DisplayObject son todos no contenedores. Las clases heredadas de DisplayObjectContainer son todos contenedores.