在点击时排列两个动画片段的z顺序

时间:2013-01-15 10:20:03

标签: actionscript-3

我有2个印花,每个都有一个动画片段。

如何提出可点击的影片剪辑,另一个是倒退?

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

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

再次感谢大家!

3 个答案:

答案 0 :(得分:2)

将两个影片剪辑放在arraylist中假设我们说(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();
            }
                    }

答案 1 :(得分:1)

swapChildren()或swapChildrenAt();

this.swapChildren(mc1,mc2)

this.swapChildrenAt(0,1)

答案 2 :(得分: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/

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