![]() |
|
||||||||||
|
|||||
|
У меня за мышкой с некоторым отставанием бегает треугольничек.
Код, привязанный к мувику такой: onClipEvent (enterFrame) { _x = _x+(_parent._xmouse-_x)/40; _y = _y+(_parent._ymouse-_y)/40; } Подскажите, плиз, что сюда надо добавить, чтобы мой треугольник, в зависимости от направления своего движения, поворачивался "мордочкой" по ходу движения. Что-то связанное с _rotation, но что, не могу сам дойти. Подскажите? |
|
|||||
|
у тебя есть координаты миши и треугольника, след. по этим двум точкам строим мнимую прямую, определяем ее угол через основную тригонометрическую формулу треугольников в радианах, переводим в градусы и
фигура._rotation=degree; удачи. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
|
|
|||||
|
Регистрация: Aug 2001
Адрес: Алматы
Сообщений: 340
|
Вот помню я такое уже использовал. Вытащил из свиего архива (код взял где-то в исходниках по частям и сложил вместе).
но у Nox Noctis все намного проще Последний раз редактировалось semma; 27.09.2002 в 23:53. |
|
|||||
|
[+] за оскорбление участников форума
|
Функция поворота по двум точкам:
function f_rotate (x1, y1, x2, y2) { tg = (y2-y1)/(x2-x1); if (x2<=x1) { cs = -1/Math.sqrt(1+((y2-y1)/(x2-x1))*((y2-y1)/(x2-x1))); } if (x2>=x1) { cs = 1/Math.sqrt(1+((y2-y1)/(x2-x1))*((y2-y1)/(x2-x1))); } rot = ((Math.acos(cs)*360)/(Math.PI*2)); if (y2<=y1) { rot = 0-rot; } return rot; /* rot - Это и есть угол поворота. Он варьируется не от 0 до 360, а от -180 до 180. Издержки. :-) Потом пишешь просто прям на мувик: _rotation = f_rotate (_x, _y, _xmouse, _ymouse); */ } Через жопу, но работает стопудово. На скорую руку писал. Но у Nox Noctis все намного проще, как было сказано... просто выпендрица захотелось.... :-)))))) Спасиба, спасиба, спасиба...... ![]()
__________________
www.stixoid.com |
|
|||||
|
Спасибо всем. Именно то, что было нужно.
|
|
|||||
|
[+] за оскорбление участников форума
|
Нет проблем... ![]()
__________________
www.stixoid.com |
![]() |
Часовой пояс GMT +4, время: 14:02. |
|
|
« Предыдущая тема | Следующая тема » |
|
|