AS 3 学习笔记【28】(原创连载)
发布日期:2009-05-15
第22章 容器:DisplayObjectContainer与Sprite、MovieClip
明天要去长城了,寒冷的、长长的城……
*容器的概念和实现
容器负责访问、添加、删除子对象的功能,还必须具有管理子对象叠放次序的功能。在AS 3中,共有6个重要的容器,包括DisplayObjectContainer的4个子类——Sprite、MovieClip、Loader和Stage,也包括Flex组件架构中的mx.core.UIComponent、mx.flash.UIMovieClip。
AS 3中所有容器都直接或简介继承自抽象类DisplayObjectContainer。DisplayObjectContainer类可以看成是容器概念的具体实现。而Sprite则是DisplayObjectContainer类的具体实现,也是我们在AS 3开发中最常用最轻量的容器。
DisplayObjectContainer是一个抽象类,不能实例化。而且和DisplayObject一样,不仅不能实例化,我们自定义的类也不可以直接继承,必须继承自它的子类才可以。DisplayObjectContainer在代码中被当成是一种数据类型来使用。如果要使用到具体的容器,需要用它的具体子类来实现。
最轻量的容器Sprite类:Sprite类是DisplayObjectContainer的具体子类。除了增加6个属性,2个方法之外,没有其他负担。而这几个属性和方法都和容器没有关系。在代码中创建的容器,往往都是纯容器,不需要时间轴的支持。所以,Sprite当之无愧,成为首选。但是在Flex架构中,如果希望创建一个纯容器,那么该容器必须实现IUIComponent接口。普通的Sprite无法被组件架构使用。
今天到这里,早点休息。
明天要去长城了,寒冷的、长长的城……
以下内容需要回复才能看到
*容器的概念和实现
容器负责访问、添加、删除子对象的功能,还必须具有管理子对象叠放次序的功能。在AS 3中,共有6个重要的容器,包括DisplayObjectContainer的4个子类——Sprite、MovieClip、Loader和Stage,也包括Flex组件架构中的mx.core.UIComponent、mx.flash.UIMovieClip。
AS 3中所有容器都直接或简介继承自抽象类DisplayObjectContainer。DisplayObjectContainer类可以看成是容器概念的具体实现。而Sprite则是DisplayObjectContainer类的具体实现,也是我们在AS 3开发中最常用最轻量的容器。
DisplayObjectContainer是一个抽象类,不能实例化。而且和DisplayObject一样,不仅不能实例化,我们自定义的类也不可以直接继承,必须继承自它的子类才可以。DisplayObjectContainer在代码中被当成是一种数据类型来使用。如果要使用到具体的容器,需要用它的具体子类来实现。
| 子显示对象数目属性 | numberChild:int |
| 添加、删除子对象的方法 | 添加:addChild方法、addChildAt方法 删除:removeChild方法、removeChildAt方法 |
| 访问子对象的方法 | getChildAt方法、getChildByName方法、getChildIndex方法、getObjectsUnderPoint方法 |
| 检测子对象的方法 | contains方法、areInaccessibleObjectsUnderPoint方法 |
| 设置叠放次序的方法 | setChildIndex方法、swapChildren方法、swapChildrenAt方法 |
最轻量的容器Sprite类:Sprite类是DisplayObjectContainer的具体子类。除了增加6个属性,2个方法之外,没有其他负担。而这几个属性和方法都和容器没有关系。在代码中创建的容器,往往都是纯容器,不需要时间轴的支持。所以,Sprite当之无愧,成为首选。但是在Flex架构中,如果希望创建一个纯容器,那么该容器必须实现IUIComponent接口。普通的Sprite无法被组件架构使用。
今天到这里,早点休息。
在线报名









