Показать сообщение отдельно
Старый 22.03.2012, 06:42
stweet вне форума Посмотреть профиль Отправить личное сообщение для stweet Найти все сообщения от stweet
  № 2  
Ответить с цитированием
stweet
 
Аватар для stweet

Регистрация: Mar 2010
Адрес: 54.713862552265084 = 20.442724227905273
Сообщений: 449
Отправить сообщение для stweet с помощью Skype™
Код AS3:
public function myHitTest(enemy:DisplayObject, hero:DisplayObject):Boolean
{
	// вычисляем дистанцию
	var dx:Number = enemy.x - hero.x;
	var dy:Number = enemy.y - hero.y;
 
	// нормализуем дистанцию
	var dis:Number = Math.sqrt(dx * dx + dy * dy);
 
	// указываем минимальную(критичную) дистанцию для столкновения
	// я написал 10 пикселей как пример, используй сумму радиусов окружности.
	var need:Number = 10;
 
	// проверяем дистанцию и возвращаем истину если,
	// дистанция между объектами меньше критичной.
	if (dis < need) return true;
 
	// возвращаем лож если дистанция не прошла проверку.
	return false;
}
Но и это не идеально, есть ещё "оптимизированнее" решение.
__________________
Спросишь, дурак на минуту. Если не спросишь, дурак на всю жизнь!