AS3中的显示列表
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AS3中的显⽰列表
每个AS3程序都有⼀个管理显⽰对象的机制,被称作显⽰列表。
显⽰列表包含了应⽤中所有可见的元素。
显⽰元素通常归为以下⼏类:•舞台:舞台是显⽰对象最基础的容器。
每个程序都有⼀个舞台对象,包含所有屏幕上的显⽰对象。
舞台是最⾼层的容器,位于显⽰列表的
顶端。
每个SWF⽂件有⼀个关联的AS类,也就是SWF⽂件的主类。
当Flash播放器在HTML页⾯打开⼀个SWF⽂件时,Flash播放器将调⽤那个类的构造函数,所创建的实例(⼀般都是显⽰对象)会被作为⼦对象添加到舞台对象中。
主类⼀般继承Sprite类。
你可以通过任何显⽰对象实例的stage属性获得舞台对象。
•显⽰对象:在AS3.0中,⼀个应⽤中所有屏幕上出现的元素都是不同种类的显⽰对象。
flash.display包包含DisplayObject类,它是⼀个被许多其他类所继承的基类。
这些不同的类代表了不同的显⽰对象,⽐如⽮量形状,影⽚剪辑和⽂本框等。
•显⽰对象容器:显⽰对象容器是特殊种类的显⽰对象,除了他们⾃⼰有视觉特性之外,还能容纳⼦显⽰对象。
DisplayObjectContainer类是DisplayObject类的⼀个⼦类。
⼀个DisplayObjectContainer对象可以在其⼦列表中包含多个显⽰对象。
尽管所有显⽰对象继承⾃DisplayObject类,它们的类型都是DisplayObject类的⼀个明确的⼦类。
你只能创建有明确定义的外表的显⽰对象的实例。
⽐如,你可以通过合适的构造函数创建⼀个Sprite类,Shape类或Video类实例,但你不能通过调⽤DisplayObject()构造函数来创建DisplayObject类的实例。
AS应⽤的显⽰列表包含应⽤中的所有可视对象。
你可以把显⽰列表看做树结构,其中舞台是在所有内容之后的。
舞台包含SWF⽂件主类的实例(⽐如,Flash SWF中的主时间轴或者Flex SWF的应⽤组件)。
主对象同样可以包含⼀个或更多的显⽰对象或显⽰对象容器;然后任何容器可以包含其他的⼦对象。
下⾯的框图显⽰了⼀个SWF中假设的显⽰对象结构:
⼦内容(容器中的任何显⽰对象)通常在⽗容器前⾯显⽰。
如果⼀个显⽰对象容器包含多个⼦显⽰对象,它们会向前堆叠;显⽰对象容器会记录它们的顺序。
显⽰对象容器中的⼦显⽰对象的顺序通常表⽰为显⽰对象的深度,⼊栈顺序或索引(因为每个显⽰对象的深度以整形索性存储,就像数组的索引,最底部的⼦对象位置为0,下⼀个是1,以此类推)。
由于对显⽰列表中的显⽰对象可以有多种操作,这篇快速⼊门涵盖了以下常见显⽰列表操作。
向显⽰列表中添加对象
最常见的操作是向显⽰列表中添加显⽰对象。
你需要创建⼦显⽰对象,并通过调⽤addChild()⽅法来将它添加到显⽰对象容器中。
默认情况下,显⽰对象被添加到容器所有⼦对象的前⾯;如果你想把它插⼊到⼦对象的其他位置,你可以使⽤addChildAt()⽅法。
下⾯的例⼦创建了三个显⽰对象(Shape类实例),并将它们作为⼦对象添加到名为container的对象的显⽰列表中。
前两个对象(圆和三⾓)是使⽤addChild()⽅法添加的,所以他们被添加到索引位置0和1的地⽅。
第三个(⽅形)使⽤addChildAt()添加到位置索引1的地⽅,将三⾓向前推向位置2。
简单来说,⽰例代码调⽤createShape()函数来创建Shape实例;将对象添加到显⽰列表的过程在主程序中。