【发布时间】:2013-01-27 17:50:10
【问题描述】:
所以,假设我在代码的开头addChild(mc1);,当我稍后在代码中添加更多内容时,如何将其保持在addChild(mc2); 之上?默认情况下 mc2 将覆盖 mc1...我尝试过 z-indexes,但我还没有完全掌握如何在我的情况下使用它...帮助?
谢谢!
【问题讨论】:
标签: actionscript-3 flash z-index addchild
所以,假设我在代码的开头addChild(mc1);,当我稍后在代码中添加更多内容时,如何将其保持在addChild(mc2); 之上?默认情况下 mc2 将覆盖 mc1...我尝试过 z-indexes,但我还没有完全掌握如何在我的情况下使用它...帮助?
谢谢!
【问题讨论】:
标签: actionscript-3 flash z-index addchild
movieclips 在他们的类中有一个三坐标系统,所以除非我弄错了,否则你可以尝试将 mc1.z 更改为高于 mc2.z
【讨论】:
几个建议:
使用addChildAt(mc1, 0)addChildAt(mc2, 1)。您可以使用addChildAt 声明要添加影片剪辑的特定“层”。
每当您添加任何其他内容时,请重新添加您想要保留在顶部的影片剪辑,即:
addChild(mc1); // 添加第一个 mc
addChild(mc2); // 在第一个 mc 之上添加第二个 mc
addChild(mc1); // 将 mc1 重新绘制到顶层(不再添加,只是带到顶层!)
【讨论】:
您还可以在“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
【讨论】: