Actionscript 3 我可以多次绘制同一显示对象吗?

Actionscript 3 我可以多次绘制同一显示对象吗?,actionscript-3,flash,Actionscript 3,Flash,我有一个循环,它运行并将TextField从数组添加到Sprite,并将Sprite绘制到BitmapData对象。当我引用以前绘制的TextField时,不会向位图数据绘制任何内容 public class Pocket extends Sprite { public var inventory:Array = [textField1, textField2, textField3]; //array of TextFields, populated by another class

我有一个循环,它运行并将
TextField
从数组添加到
Sprite
,并将
Sprite
绘制到
BitmapData
对象。当我引用以前绘制的
TextField
时,不会向
位图数据绘制任何内容

public class Pocket extends Sprite
{
    public var inventory:Array = [textField1, textField2, textField3]; //array of TextFields, populated by another class
    public var order:Array = [0,1,2,1]; //array of ints indicating the order of which items in "inventory" should be displayed (the error lies when an element is repeated - in this case, 1

    public function getItem(index:int):Array
    {
        var bitmaps:Array = new Array();

        for(var i:int = 0; i < order.length; i++)
        {
            var bitmapData:BitmapData = new BitmapData(32, 32);

            var background:Sprite = new Sprite();
            background.graphics.beginFill();
            background.graphics.drawRect(0,0,32,32);
            background.graphics.endFill();
            bitmapData.draw(background); //this always executes as expected

            var sprite:Sprite = new Sprite();
            sprite.addChild(inventory[order[i]]);

            bitmapData.draw(sprite);

            var bitmap:Bitmap = new Bitmap(bitmapData);
            bitmaps.push(bitmap);

            sprite.removeChild(inventory[order[i]]);
        }
        return bitmaps;
    }
}
public类口袋扩展了Sprite
{
公共变量清单:数组=[textField1,textField2,textField3];//由另一个类填充的TextFields数组
public var order:Array=[0,1,2,1];//整数数组,指示“inventory”中项目的显示顺序(错误在于元素重复时-在本例中为1
公共函数getItem(索引:int):数组
{
变量位图:数组=新数组();
对于(变量i:int=0;i
调用
顺序中的最后一个元素时(1),生成的位图不包含文本字段

当循环第一次运行时,将
TextField
inventory[0]
添加到
Sprite
,会按预期绘制
Sprite
。第二个框是使用
inventory[1]
绘制的。但是,当我运行相同的代码试图绘制
inventory[1]时
第二次,什么也没有发生。如果我尝试绘制
目录[0]
,也会发生同样的情况,但是如果我使用尚未添加到
精灵的
文本字段(例如
目录[2]
,如果存在),它会按预期绘制

有什么想法吗?
提前谢谢。

为什么您要先将
DisplayObject
添加到
Sprite
中?为什么不直接绘制它?我不太清楚您的代码有什么问题。请您详细说明“先前绘制”是什么意思?能否请您扩展您的代码,使其包含一个您无法获得预期结果的部分?谢谢。遗漏了一些重要信息(我的错)。添加了一个示例和一些详细说明。如果您再次绘制任何文本字段,将不会产生任何可见效果,因为它们绘制在同一位置。也许您应该添加更多代码以显示正在重画的部分。@null每个文本字段都添加到精灵,精灵将绘制到BitmapData对象,位图将显示为null已创建。我正在将该位图添加到后台。文本字段的位置应该无关紧要。