0

我有 2 层,每个层都有一个影片剪辑。

怎么可能将可点击的影片剪辑向前,而另一个向后?

我尝试了一些方法,但我没有任何运气。

如果不是太多代码并且有人有一点时间请帮我解决它。

再次感谢大家!

4

3 回答 3

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();
            }
                    }
于 2013-01-15T10:28:49.007 回答
1

您应该检查这些链接以了解显示列表的概念。

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/

所有这些都将帮助您了解您可以对屏幕上的各种对象执行的操作,包括您要求的交换功能。

于 2013-01-15T17:06:28.210 回答
1

swapChildren() 或 swapChildrenAt();

this.swapChildren(mc1,mc2)

或者

this.swapChildrenAt(0,1)
于 2013-01-15T10:33:04.513 回答