在现有对象AS3后面添加Child

时间:2015-03-21 01:55:20

标签: actionscript-3 flash flash-cs5 addchild

我使用Flash CS5(as3)制作了一个游戏,我试图将一个孩子添加到已经存在的对象后面的舞台上。例如,我在屏幕底部有一个栏,从你开始游戏的那一刻开始,我有落下的物体,我想落在它后面,但是它们落在它前面,因为我把它们添加到了之后的舞台。有没有办法在它后面添加掉落的物体而不必继续重新添加到舞台上?提前谢谢。

2 个答案:

答案 0 :(得分:2)

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

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

stage.addChildAt(fallingObject, 0);

答案 1 :(得分:0)

您可以创建Sprite作为图层,并为其添加不同的对象。下面是一个示例,它添加了一个图层,用于添加条形图层后面的任何内容,然后添加条形图层,因此它将位于顶部。由于您没有任何代码可供参考,因此它非常粗糙:

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);        
        }
    }
}