1

所以,假设我在代码的开头,当我稍后在代码中添加更多内容时addChild(mc1);,如何保持它的顶部?addChild(mc2);默认情况下 mc2 将覆盖 mc1 ...我已经尝试过 z-indexes,但我还没有完全掌握如何在我的情况下使用它...帮助?

谢谢!

4

3 回答 3

4

A couple of suggestions:

  1. Use addChildAt(mc1, 0) addChildAt(mc2, 1). You can use addChildAt to state a specific 'layer' to add a movieclip to.

  2. Whenever you add anything else, re-add the movieclip you want to keep on top, ie:

    addChild(mc1); // adds first mc

    addChild(mc2); // adds second mc on top of first

    addChild(mc1); // re-draws mc1 to the top layer (does not add again, just brings to top!)

于 2013-02-12T12:54:32.390 回答
2

您还可以在“mc1”下创建一个父精灵,然后将“mc2”和其他所有内容添加到该父级。该父精灵下的任何内容都将始终保留在 mc1 下,您无需担心手动将 mc1 移动到显示堆栈的前面。

// during when mc1 is first added
var parentSprite:Sprite = new Sprite();
this.addChild(parentSprite);
this.addChild(mc1);



// later in your code, whatever is added to "parentSprite" will always be displayed under mc1
parentSprite.addChild(mc2);
parentSprite.addChild(mc3);
parentSprite.addChild(mc4);
.
.
.
etc
于 2013-02-13T00:25:02.553 回答
0

电影剪辑在他们的类中有一个三坐标系统,所以除非我弄错了,你可以尝试将 mc1.z 更改为高于 mc2.z

于 2013-02-12T12:15:23.360 回答