显示对象和显示列表
显示对象,确切的意思是可以在舞台上显示的对象,可以显示的对象包括可以直接看到的图形、
文本、
视频和
图片,以及不可见但实际上存在的对象。
在Egret,可视化图形由显示对象和显示对象容器组成。
如果我们要在上面的图画中表达场景,我们应该如何用树的方式来描述它
显示对象的层次
在Egret中,显示对象分为两大类:一类是显示对象容器,它可以包含其他的显示对象,称为短容器,另一类是一个简单的显示对象,除了容器之外,它不能包含其他对象。
在实际
操作中,我们可以把这样的结构看作是一个树状结构,它可以被理解为一个分支,而非容器对象可以理解为一个叶子。
在这种树形结构中,顶部是舞台,在
程序中我们可以看到一个舞台对象,舞台是白鹭展示结构中最基本的显示容器,每个白鹭应用只有一个舞台对象,舞台是显示树结构的根节点。
在这个阶段,我们还有一个主容器,这个容器是由
文档类
创建的容器,每个白鹭有一个文档类,它必须是一个显示对象容器。
在这个场景中,我们有一个场景
背景,背景由背景图和一个大的树组成,另外两个元素由一个字符和一个草地组成。
显示列表
上图所示的树形显示对象结构实际上是白鹭的显示列表。
使用显示列表
管理容器和非容器对象是非常方便的。当显示对象在显示列表中时,我们可以看到图片中的这个对象。当我们从显示列表中
删除显示对象时,对象会从
屏幕上消失。
白鹭内有显示列表。开发人员不必关心列表的
运行方式。您只需要对自己的显示对象进行操作。
显示对象
类型 在建筑设计过程中,严格在白鹭是封装一个显示列表的概念,所有的对象。在Egret,所有的显示对象从DisplayObject继承DisplayObject对象也显示我们先前描述的。在Egret,所有的容器
都是继承自displayobjectcontainer。
为了统一管理显示列表,显示所有对象都统一在DisplayObject。DisplayObject继承所有显示对象,而DisplayObject继承EventDispatcher。也就是说,所有的显示对象发送事件。
displayobjectcontainer显示对象容器的父类是DisplayObject。
在实际操作中,我们又把这个概念简单化,可以归纳为两个规则:
类直接继承DisplayObject,属于非容器类继承displayobjectcontainer属于容器。