Показать сообщение отдельно
Старый 03.04.2011, 12:49
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 2  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Вам, в принципе, не зачем сдвигать стрелку относительно ее регистрационной точки. Можно так:

1. Считайте угол в радианах между двумя точками с помощью Math.atan2
2. Считайте расстояние между точками с помощью теоремы Пифагора.
3. Исходные координаты у вас есть (фиксированная точка), а вот конечные получите так:

Код AS1/AS2:
var endX:Number = startX + Math.cos( angle ) * (dist - offset);
var endY:Number = startY + Math.sin( angle ) * (dist - offset);
Где dist — это расстояние между точками, а offset — это то, насколько линия не должна доходить до второго объекта.
__________________
hauts.ru


Последний раз редактировалось Hauts; 03.04.2011 в 12:52.