![]() |
Как нестандартно нарисовать линию?
Доброго времени суток...Я делаю флешку, где линия одним концом привязана к точке, а другой конец со стрелкой должен следовать за объектом, причем следовать не докасаясь до него...я реализовал это так:
- сделал регистрационной точкой объекта(за которым следует второй конец со стрелкой) центр этого объекта - стрелку сделал отдельным объектом и сместил ее от регистрационной точки на расстояние достаточное, чтобы она ни с какой стороны при поворотах не касалась объекта - рассчитываю угол поворота стрелки относительно координат начала и конца линии - линию рисую (move to, line to) - первые координаты-точка, стоящая постоянно на месте, вторые координаты - регистрационная точка объекта Я получаю что эта линия постоянно привязана к центру, а как сделать так чтобы она была привязана к самой стрелке(напомню, что она находится на определенном расстоянии от регистрационной точки) |
Вам, в принципе, не зачем сдвигать стрелку относительно ее регистрационной точки. Можно так:
1. Считайте угол в радианах между двумя точками с помощью Math.atan2 2. Считайте расстояние между точками с помощью теоремы Пифагора. 3. Исходные координаты у вас есть (фиксированная точка), а вот конечные получите так: Код AS1/AS2:
|
Тимур, для оформления своего кода надо использовать теги [code][/code]
|
Прошу прощения, исправлюсь...
А почему именно atan2? он у меня сейчас выдает angle = NaN; Код:
var angle:Number = Math.atan2((y2 - y1) / (x2 - x1)) * 180 / Math.PI;Код:
var angle:Number = Math.atan2((y2 - y1) / (x2 - x1)) * 180; |
| Часовой пояс GMT +4, время: 00:27. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.