2007-09-11

Flash/AS3 z-index 處理 part 1

z-index 的處理經常遇到的有三種情況, 先提兩種:

1) 將 display object 由原來的 z-index 提到最高值
可以先 removeChild, 再使用 addChild

2) display object 在某些時候要提到最高值, 某些時候要回到原來的 z-index
做個空的 Sprite 物件去佔原來位置, 之後再對調回來
FLA 原始檔
this.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
this.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
function onMouseOver(e:MouseEvent):void{
var _mc:MovieClip = e.target as MovieClip;
var _p:DisplayObjectContainer =
_mc.parent as DisplayObjectContainer;
// 建立佔茅坑者
_mc.occu = new Sprite;
_p.addChild(_mc.occu);
// 交換位置
_p.swapChildren(_mc, _mc.occu);
}
function onMouseOut(e:MouseEvent):void{
var _mc:MovieClip = e.target as MovieClip;
var _p:DisplayObjectContainer =
_mc.parent as DisplayObjectContainer;
// 換回原來的位置
_p.swapChildren(_mc, _mc.occu);
delete _mc.occu;
}

沒有留言:

FB 留言