AS3 setChildIndex到前(AS3 setChildIndex to front)

2019-09-20 12:12发布

有没有一种方法,以特定的动画片段发送到舞台上的所有其它影片剪辑的前面?

我知道setChildIndex,但我不能想出一个办法来动态计算顶部位置。

Answer 1:

您可以使用setChildIndex()numChildren

setChildIndex(childClip, numChildren - 1);


Answer 2:

你并不需要使用setChildIndex。 的addChild对所有剪辑的顶部送孩子。 你可能会想,会的addChild双加你的MC,但它不会,第二次它只会更新它的子指标。



Answer 3:

默认情况下,Flash会将该影片剪辑到显示列表的顶部,这样你就可以重复刚才添加的孩子容器。

stage.addChild(bottom);
stage.addChild(top);
// top is now on bottom.

stage.addChild(bottom);
// bottom is now on top.


Answer 4:

的movieclip(MC)在所述画布上加入

canvas.setChildIndex(mc, 0);

在画布上的阶段加入,

stage.setChildIndex(canvas, 0);


Answer 5:

/* Bring Any Clicked Object to the Front
Clicking on any symbol on the Stage moves it in front of all other instances.
*/

// This code makes all symbol instances on stage clickable by making them listen for the CLICK event.
for (var fl_ChildIndex:int = 0;
    fl_ChildIndex < this.numChildren;
    fl_ChildIndex++)
{
    this.getChildAt(fl_ChildIndex).addEventListener(MouseEvent.CLICK, fl_ClickToBringToFront);
}

// This is the function that moves the clicked object to the front of the display list

function fl_ClickToBringToFront(event:MouseEvent):void
{
    this.addChild(event.currentTarget as DisplayObject);
}

从Adobe Flash Professional中的代码段。



文章来源: AS3 setChildIndex to front