私のクラスでは、対応する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を何度も削除および追加する回避策はありますか?
ヘルプは大歓迎です。前もって感謝します!