Я хочу сохранить растровые данные из _sampleTile в массиве, но мне было интересно, как повысить производительность. Если я сделаю это так:
var _sampleTile:BitmapData;
var _arrayLenght:int = _tileClipArray.length;
for(var i:int = 0; i < _arrayLenght; ++i){
_sampleTile = new BitmapData(65, 65, false);
_sampleTile.draw(_tileClipArray[int(i)]);
_tileBitmapDataArray[i] = _sampleTile;
}
Тогда было бы слишком много работы по построению в цикле, верно? Но если я сделаю как ниже:
var _sampleTile:BitmapData = new BitmapData(65, 65, false);
var _arrayLenght:int = _tileClipArray.length;
for(var i:int = 0; i < _arrayLenght; ++i){
_sampleTile.fillRect(_sourceRectangle, 0x00FFFFFF);
_sampleTile.draw(_tileClipArray[int(i)]);
_tileBitmapDataArray[i] = _sampleTile.clone();
}
.clone () возвращает новый объект BitmapData, так что в основном результат тот же, верно?
Во втором примере, если мы заменим _sampleTile.clone () на _sampleTile - возможно ли каким-либо образом не сохранять в массиве ссылку на _sampleTile, но получать фактические bitmapData из _simpleTile?