setchildindex 正在制造问题

setchildindex is creating problems

我为孩子们制作了一个简单的拖拽配对游戏。

我使用 setchildindex 来拖动影片剪辑,但是当我单击下一步按钮并转到另一帧时,影片剪辑仍留在同一阶段。我该怎么办?

这是我使用的代码:(drag_1, this.numChildren0);

当我重新加载时它不起作用。

drag_1.buttonMode = true;    
drag_1.addEventListener(MouseEvent.MOUSE_UP, dropMe_1);    
drag_1.addEventListener(MouseEvent.MOUSE_DOWN, dragMe_1);     
var back_1X:Number = back_1.x;    
var back_1Y:Number = back_1.y;    
var hit_2X:Number = hit_2.x;    
var hit_2Y:Number = hit_2.y;    

function dragMe_1(event:MouseEvent)    
{
    drag_1.startDrag()    
    setChildIndex(drag_1, this.numChildren-1);    
}

function dropMe_1(event:MouseEvent)    
{
    drag_1.stopDrag();
    if(drag_1.hitTestObject(drop_2))
    {
        TweenMax.to(drag_1, 0.5, {
            x:hit_2X, 
            y:hit_2Y, 
            ease:Cubic.easeOut
        });
        drag_1.mouseEnabled = false;
        SoundMixer.stopAll();
    }
    else
    {
        TweenMax.to(drag_1, 0.5, 
        {
            x:back_1X,
            y:back_1Y, 
            ease:Bounce.easeOut
        });
     }
}

您需要使用 removeChild() 删除 MovieClips

现在,你为什么需要在这里做那个?好吧,这是将时间线与代码混合使用时遇到的奇怪问题之一。当您在时间轴关键帧上放置一个符号时,Flash Player 将在到达该帧时实例化该符号。之后,时间轴上更新符号(补间、效果等)的任何帧都会这样做,而缺少符号的任何帧都会将其删除。但是,Flash Player 对在时间轴的每一帧上识别该符号非常挑剔。当您使用 setChildIndex 移动它时,您基本上会破坏时间轴 link,并且 Flash Player 不再识别它并根据关键帧将其删除。您还会发现,如果您重新访问具有该符号的关键帧,Flash Player 将实例化第二个关键帧,而不管您移动的那个关键帧是否仍然存在。如您所见,它可能会变得非常混乱。