- コミット日時:
- 2010/04/04 00:55:27 (3 年前)
- ファイル:
凡例:
- 変更無し
- 追加
- 削除
- 更新
- コピー
- 移動
as3/gunyarapaint/branches/gunyarapaint/framework/src/org/libspark/gunyarapaint/framework/LayerBitmapCollection.as
r3685 r3689 266 266 var count:uint = m_layers.length; 267 267 for (var i:uint = 0; i < count; i++) { 268 var layer:LayerBitmap = m_layers[i]; 269 var displayObject:DisplayObject = layer.displayObject; 270 if (m_sprite.contains(displayObject)) 271 m_sprite.removeChild(displayObject); 272 else 273 trace(layer.name + " is not child of spriteToView."); 268 m_sprite.removeChildAt(i); 274 269 } 275 270 m_layers.splice(0, count); … … 302 297 var i:uint = 0; 303 298 var layers:Vector.<Object> = undoData.layers; 304 var c:uint = layers.length; 305 clear(); 299 var oldLayerCount:uint = m_layers.length; 300 var newLayerCount:uint = layers.length; 301 // レイヤー切り替えが発生しないケースの対処 302 // 古いレイヤーが一緒に消えないようにする必要がある 303 var c:uint = newLayerCount > oldLayerCount ? oldLayerCount : newLayerCount; 306 304 for (i = 0; i < c; i++) { 307 305 var data:Object = layers[i]; 308 var layer:LayerBitmap = new LayerBitmap(data.bitmapData); 309 layer.fromJSON(data); 310 addLayer(layer); 306 var newLayer:LayerBitmap = new LayerBitmap(data.bitmapData); 307 newLayer.fromJSON(data); 308 m_sprite.removeChildAt(i); 309 m_sprite.addChildAt(newLayer.displayObject, i); 310 m_layers[i] = newLayer; 311 311 } 312 312 currentIndex = undoData.index;

