Я пытаюсь изменить свое растровое изображение, чтобы изменить их пиксели на случайный цвет.Вот как я это делаю (я использую библиотеку FlashPunk ):
private var _v:Point = new Point;
private var _speed:Point = new Point(200, 200);
private var _bmpData:BitmapData = new BitmapData(24, 24, false, 0x000000)
private var _bmpImage:Image = new Image(_bmpData);
public function Player(p:Point)
{
graphic = _bmpImage;
x = p.x;
y = p.y;
}
override public function update():void
{
updateMovement();
updateCollision();
super.update();
}
override public function render():void
{
_bmpData.lock();
for (var j:int = 0; j < _bmpData.height; j++) {
for (var i:int = 0; i < _bmpData.width; i++) {
_bmpData.setPixel(i, j, FP.rand(0xffffff));
}
}
_bmpData.unlock();
graphic = new Image(_bmpData);
super.render();
}
Итак, функция, которая делает это, это render (), но в строке1006 *
graphic = new Image(_bmpData);
Я получаю новую память для графики, и это приводит к утечке памяти в игре.Вот изображение этого: И, как вы можете видеть, MEM: деталь постоянно увеличивается: /
Кто-нибудь знает другой способ сделать это?