我有 2 层,每个层都有一个影片剪辑。
怎么可能将可点击的影片剪辑向前,而另一个向后?
我尝试了一些方法,但我没有任何运气。
如果不是太多代码并且有人有一点时间请帮我解决它。
再次感谢大家!
我有 2 层,每个层都有一个影片剪辑。
怎么可能将可点击的影片剪辑向前,而另一个向后?
我尝试了一些方法,但我没有任何运气。
如果不是太多代码并且有人有一点时间请帮我解决它。
再次感谢大家!
假设我们说 (zorder) 将两个影片剪辑都放在数组列表中,然后根据需要在某些事件上调用 Bringttofronthandler 或 sendtobackhandler。
private function recalculateDepth():void
{
for (var i:int = 0; i < zorder.length; i++)
{
zorder.getItemAt(i).depth = i;
}
}
protected function bringToFrontHandler(event:Event):void
{
zorder.removeItem(selectedItem);
//set to top of array
zorder.addItem(selectedItem);
recalculateDepth();
}
protected function sendToBackHandler(event:Event):void
{
zorder.removeItem(selectedItem);
//set to bottom of array
zorder.addItemAt(selectedItem, 0);
recalculateDepth();
}
}
您应该检查这些链接以了解显示列表的概念。
http://www.adobe.com/devnet/flash/quickstart/display_list_programming_as3.edu.html
http://www.republicofcode.com/tutorials/flash/as3displaylist
http://active.tutsplus.com/tutorials/actionscript/as3-101the-display-list/
所有这些都将帮助您了解您可以对屏幕上的各种对象执行的操作,包括您要求的交换功能。
swapChildren() 或 swapChildrenAt();
this.swapChildren(mc1,mc2)
或者
this.swapChildrenAt(0,1)