|
|
|||||
Регистрация: Nov 2010
Сообщений: 10
|
Как нестандартно нарисовать линию?
Доброго времени суток...Я делаю флешку, где линия одним концом привязана к точке, а другой конец со стрелкой должен следовать за объектом, причем следовать не докасаясь до него...я реализовал это так:
- сделал регистрационной точкой объекта(за которым следует второй конец со стрелкой) центр этого объекта - стрелку сделал отдельным объектом и сместил ее от регистрационной точки на расстояние достаточное, чтобы она ни с какой стороны при поворотах не касалась объекта - рассчитываю угол поворота стрелки относительно координат начала и конца линии - линию рисую (move to, line to) - первые координаты-точка, стоящая постоянно на месте, вторые координаты - регистрационная точка объекта Я получаю что эта линия постоянно привязана к центру, а как сделать так чтобы она была привязана к самой стрелке(напомню, что она находится на определенном расстоянии от регистрационной точки) |
|
|||||
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,112
Записей в блоге: 1
|
Вам, в принципе, не зачем сдвигать стрелку относительно ее регистрационной точки. Можно так:
1. Считайте угол в радианах между двумя точками с помощью Math.atan2 2. Считайте расстояние между точками с помощью теоремы Пифагора. 3. Исходные координаты у вас есть (фиксированная точка), а вот конечные получите так: Где dist — это расстояние между точками, а offset — это то, насколько линия не должна доходить до второго объекта.
__________________
hauts.ru Последний раз редактировалось Hauts; 03.04.2011 в 12:52. |
|
|||||
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
|
Тимур, для оформления своего кода надо использовать теги [code][/code]
|
|
|||||
Регистрация: Nov 2010
Сообщений: 10
|
Прошу прощения, исправлюсь...
А почему именно atan2? он у меня сейчас выдает angle = NaN; даже если в радианах: результат тот же NaN |
Часовой пояс GMT +4, время: 14:43. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|