多次添加对象

时间:2011-06-26 17:25:38

标签: flash actionscript-3

我想在4个不同的容器imgcont1中添加对象cont2 ... 但img仅在最后一个cont4容器中添加。如何在所有容器中添加该对象?

            var img:Image = ImageBuffer.imageStorage.shift();

            var ti:TargetImage = new TargetImage();
            for (var i:int = 1; i <= 4; i++) 
            {
                MovieClip(ti.getChildByName("cont"+i)).addChild(img);
            }

解决。 这个功能解决了这个问题

    public static function duplicateImageAsSprite(original:DisplayObject):Sprite {
        var bitmapData:BitmapData = new BitmapData(original.width, original.height, true, 0x000000);
        bitmapData.draw(original as IBitmapDrawable);

        var bitmap:Bitmap = new Bitmap(bitmapData);

        var returnSprite:Sprite = new Sprite();
        returnSprite.addChild(bitmap as DisplayObject);

        return returnSprite;
    }

1 个答案:

答案 0 :(得分:0)

将新的TargetImage()放在for循环中,如下所示:

var img:Image = ImageBuffer.imageStorage.shift();

for (var i:int = 1; i <= 4; i++) 
{
    var ti:TargetImage = new TargetImage();
    MovieClip(ti.getChildByName("cont"+i)).addChild(img);
}

这将产生四个不同的对象..如果你想要它们,你可以动态地将它们放在一个数组中,也可以在for循环中。