Показать сообщение отдельно
Старый 20.03.2011, 21:08
ЗлОй ПрОграММер вне форума Посмотреть профиль Отправить личное сообщение для ЗлОй ПрОграММер Найти все сообщения от ЗлОй ПрОграММер
  № 1  
Ответить с цитированием
ЗлОй ПрОграММер

Регистрация: Nov 2010
Сообщений: 434
По умолчанию BitmapData, как очистить память

Сделал функцию для проверки столкновений мувиклипов

Код AS3:
public static function CheckCollision(Object1: MovieClip,
				      Object2: MovieClip): Boolean
{
//--------------------------------------------------------------------
	var bmpd1: BitmapData;
	var bmpd2: BitmapData;
	var bool: Boolean;
//--------------------------------------------------------------------	
	bmpd1 = new BitmapData(550, 400, true, 0);
	bmpd2 = new BitmapData(550, 400, true, 0);
	bmpd1.fillRect(bmpd1.rect, 0);
        bmpd2.fillRect(bmpd2.rect, 0);
	bmpd1.draw(Object1, new Matrix(1, 0, 0, 1, Object1.x, Object1.y));
	bmpd2.draw(Object2, new Matrix(1, 0, 0, 1, Object2.x, Object2.y));
	if (bmpd1.hitTest(new Point(), 255, bmpd2, new Point(), 255))
	{
		bool = true;
	}
	else
	{
		bool = false;
	}
	bmpd1.dispose();
	bmpd2.dispose();
	bmpd1 = null;
	bmpd2 = null;
//--------------------------------------------------------------------	
	return bool;
//--------------------------------------------------------------------	
}
Проблема теперь в том чтобы очистить память отведённую под bmpd1 и bmpd2.
особенно если проверку столкновений делать в EnterFrame память всё растёт и растёт, как это поправить у кого есть идеи ?