2

有没有办法将特定的影片剪辑发送到舞台上所有其他影片剪辑的前面?

我知道 setChildIndex,但我想不出一种动态计算顶部位置的方法。

4

5 回答 5

13

您可以setChildIndex()使用numChildren.

setChildIndex(childClip, numChildren - 1);
于 2012-07-31T10:25:20.330 回答
4

您不需要使用 setChildIndex。addChild 在所有剪辑的顶部发送孩子。您可能认为 addChild 会双重添加您的 MC,但它不会,第二次它只会更新它的子索引。

于 2014-03-22T16:50:23.213 回答
0

默认情况下,flash 将影片剪辑添加到显示列表的顶部,因此您可以重复将子项添加到容器中。

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

stage.addChild(bottom);
// bottom is now on top.
于 2012-07-31T10:24:35.930 回答
0

在画布上添加了movieclip(mc),

canvas.setChildIndex(mc, 0);

画布被添加到舞台上,

stage.setChildIndex(canvas, 0);
于 2013-09-23T10:33:54.870 回答
-1
/* 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);
}

来自 Adob​​e Flash Professional 代码片段。

于 2012-07-31T10:33:13.763 回答