0

在我的课堂上,我创建了一个带有相应 BitmapData 对象的位图:

班级成员

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。但是,除非我包含注释掉的行,否则这不起作用:

//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 的解决方法吗?

高度赞赏帮助。提前致谢!

4

1 回答 1

5

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

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

希望有帮助!

于 2011-03-29T03:20:08.597 回答