![]() |
|
||||||||||
|
|||||
|
Есть две точки: Первая координаты объекта, вторая, является указателем поворота объекта, т.е. объект должен поворачиваться ко второй точки. Мой код выглядит так:
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; } Заранее спасибо за помощь. |
|
|||||
|
Math.atan2 все это дело учитывает
У Вас, если не ошибаюсь, по логике Math.acos вместо Math.cos должен быть Стоп: Цитата:
Последний раз редактировалось expl; 08.03.2011 в 15:42. |
|
|||||
|
_x - нужен для определения длины катетов и гипотенузы, при вычислении косинуса.
Добавлено через 3 минуты ТОчнее формула выглядит так поторопился и запостил старую версию в первом посте |
|
|||||
|
А, т.е. _x2, _y2 - это абсолютные координаты?
Тогда так: P.S. Всётки там арккосинус должен был быть, но Math.atan2 надёжнее P.S2. Скобки не потеряли? Последний раз редактировалось expl; 08.03.2011 в 15:54. |
|
|||||
|
Спасибо, теперь когда понятно с абсолютными не абсолютными координатами, все заработало. Видать подзабыл уже геометрию..
|
![]() |
![]() |
Часовой пояс GMT +4, время: 11:56. |
|
|
« Предыдущая тема | Следующая тема » |
|
|