標籤雲

搜尋此網誌

2008/09/25

AS 3.0 的深度管理

AS 3.0 中
能夠管理物件深度的類別一定是 DisplayObjectContainer 的子類別
(Loader, Sprite, Stage)

以下列出 DisplayObjectContainer 類別中關於深度管理的 function:

addChildAt(child:DisplayObject, index:int):DisplayObject
removeChildAt(index:int):DisplayObject

getChildAt(index:int):DisplayObject
getChildIndex(child:DisplayObject):int

setChildIndex(child:DisplayObject, index:int):void
//變更 child 的深度為 index
//若 child 原本在 index 深度原本的物件之下, 則 child 會變成在它之上
//若 child 原本在 index 深度原本的物件之上, 則 child 會變成在它之下

swapChildren(child1:DisplayObject, child2:DisplayObject):void
//交換 child1 與 child2 的深度

swapChildrenAt(index1:int, index2:int):void
//交換深度在 index1 與 index2 的物件的深度

範例:
若要將 mc 中的 child 物件置於最上方
可以這樣寫
mc.setChildIndex(child, mc.numChildren-1);
//深度由下而上, 從 0 開始, 故 numChildren-1 即為 mc 中最上面的深度

沒有留言: