AS3 bitmapdata未更新

时间:2011-03-29 03:07:28

标签: actionscript-3 bitmap bitmapdata

在我的课程中,我创建了一个带有相应BitmapData对象的Bitmap:

班级成员

private var _bitmapData:BitmapData;
private var _bitmap:Bitmap;
private var _history:Array;

构造

_history = new Array();
_bitmapData = new BitmapData(50, 50, true, 0x00FFFFFF);
_bitmap = new Bitmap(_bitmapData);
this.addChild(_bitmap);

在我的“modifyImage”函数中,我想修改_bitmapData。但是,除非我包含out注释行,否则这不起作用:

//removeChild(this._bitmap);
_history.push(_bitmapData.clone());
_bitmapData.draw(item); // "item" passed by value
//this.addChild(_bitmap);

要还原更改,我使用以下内容(同样,我必须删除并将_bitmap添加到舞台):

//removeChild(this._bitmap);
_bitmapData = _history.pop();
_bitmap = new Bitmap(_bitmapData); // [EDIT]: out-commented this by mistake
//this.addChild(_bitmap);

他们是一次又一次地删除和添加_bitmap的解决方法吗?

非常感谢帮助。提前谢谢!

1 个答案:

答案 0 :(得分:5)

你只需要在Bitmap上设置bitmapData。例如:

_bitmapData = _history.pop();  
_bitmap.bitmapData = _bitmapData;

希望有所帮助!