在现有 object AS3 后面添加 Child

Add Child Behind existing object AS3

我使用 Flash CS5 (as3) 制作了一个游戏,我正在尝试将 child 添加到已经存在的 objects 后面的舞台上。例如,我在屏幕底部有一个栏,从你开始游戏的时候就在那里,我已经坠落 objects 我想落在它后面,但它们却落在它前面,因为我之后将它们添加到舞台上。有没有办法在它后面添加下降的 objects 而不必将 re-adding 横杆保持在舞台上?提前致谢。

您可以创建 Sprites 作为层,并向它们添加不同的对象。这是一个示例,它添加了一个图层,用于在条形层后面添加任何你想要的东西,然后添加条形层,所以它会在上面。太粗糙了,因为你没有任何代码可以参考:

package  {
    import flash.display.*;
    public class Test extends MovieClip {

        var barLayer:Sprite;
        var objectLayer:Sprite;

        public function Test() {

            var objectLayer = new Sprite();
            //add the object layer to your main Class
            this.addChild(objectLayer);

            //now you can add movie clips or sprites to objectLayer whenever you like

            //then create the bar layer
            var barLayer = new Sprite();

            //add your bar Display Object here
            var bar = new MovieClip();//draw the bar or reference the library object you've created
            barLayer.addChild(bar);

            //now add the barLayer
            this.addChild(barLayer);        
        }
    }
}

我不会分层,而是使用 addChildAt 和 setChildIndex 来调整每个对象的索引。

以下行将您的坠落对象添加到舞台上所有其他 DisplayObject 的后面(在这种情况下,您应该首先将您的栏添加到舞台上)

stage.addChildAt(fallingObject, 0);