【问题标题】:addChild is overlaying a MovieClip on the StageaddChild 正在舞台上覆盖一个 MovieClip
【发布时间】:2011-10-25 12:06:46
【问题描述】:

我如何确保在舞台上开始的影片剪辑比我 addChild 并从库中添加链接的影片剪辑时具有更高的 zindex。

我的代码真的很简单

background_image = new Sprite();
main_container.addChild (background_image);

但是我有一个movieClip“message_box”,我将它拖到了主时间线上。当我添加作为舞台全尺寸的 background_image 时,它​​会覆盖“message_box”

我知道你可以设置子索引,但是如何设置“message_box”索引?

【问题讨论】:

    标签: flash actionscript-3 addchild


    【解决方案1】:

    如果您希望 message_box 位于最高层,只需使用以下代码:

    if(message_box.parent)
        message_box.parent.addChild(message_box);
    

    很可能在您使用addChild() 向舞台添加新元素时需要。

    或者,只需在比message_box 更低的层上创建一个容器,然后将所有孩子都添加到其中。

    【讨论】:

    • 因此,如果使用新的 Sprite 将其他所有内容添加到舞台上,那么 message_box 是否仍然有效?谢谢(你的)信息。 +1
    • 是的,如果每次添加新内容时都使用上面的代码,message_box 将再次放置到最高层。
    【解决方案2】:

    您可以为您希望在背景图片上方添​​加的所有 MC 创建一个容器

    var background:Sprite = new Sprite();
    var container:Sprite = new Sprite();
    var messageBox:MovieClip = new MovieClip();
    
    addChild( background );
    
    //will contain everything in between
    addChild( container);
    
    //The message will always be on top
    addChild( messageBox );
    
    //From then on, only use container to add children
    
    var mc1:MovieClip = new MovieClip();
    container.addChild( mc1 );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-25
      • 1970-01-01
      • 2011-09-05
      • 2014-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多