Показать сообщение отдельно
Старый 08.03.2011, 15:30
Heavy вне форума Посмотреть профиль Отправить личное сообщение для Heavy Найти все сообщения от Heavy
  № 1  
Ответить с цитированием
Heavy

Регистрация: Jul 2010
Адрес: Сибирь
Сообщений: 98
Отправить сообщение для Heavy с помощью ICQ
По умолчанию Угол поворота по двум точкам

Есть две точки: Первая координаты объекта, вторая, является указателем поворота объекта, т.е. объект должен поворачиваться ко второй точки. Мой код выглядит так:
Код AS3:
private function Strelka(_x:Number, _y:Number, _x2:Number, _y2:Number):Sprite 
{
			var Obj:Sprite = new Sprite();
 
			Obj.graphics.lineStyle(10, 0xff0000);
			Obj.graphics.moveTo(0, 0);
			Obj.graphics.lineTo(40, 0);
 
			Obj.x = _x;
			Obj.y = _y;
			Obj.rotation = 180 / Math.PI * Math.cos(_x2 - _x / Math.sqrt(Math.pow(_x2, 2) + Math.pow(_x, 2)));
			return Obj;
}
P.S. я понимаю что нужно добавить проверку на отрицательный\положительный "у", но данный код не работает даже в пределах первых 90 градусов. Может я совсем перестал разбираться в геометрии, но вроде все именно так должно выглядеть.

Заранее спасибо за помощь.