![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
на сцене есть кнопка btn со стрелкой (аля компас)
эта стрелка следит за движением мышки function circ(mc) {
// получаем длины катетов треугольника
var x = _xmouse-mc._x;
var y = _ymouse-mc._y;
// считаем гипотенузу
var r = Math.sqrt((x*x)+(y*y));
// через арксинус получаем нужный угол
var rotation = Math.round((Math.asin(x/r))*180/Math.PI);
// это вышло методом подбора что работало
if (y>0) rotation = 180-rotation
mc._rotation = rotation;
trace(rotation);
}
Как наладить? Спасибо. |
|
|||||
|
Регистрация: Apr 2007
Сообщений: 1,369
|
Странно - но твой код крутит мой клип от 0 до 360 градусов.
Так что всё нормально. Вот как я сделал: function Rotate_Shit(){
// получаем длины катетов треугольника
var x = _xmouse-mc._x;
var y = _ymouse-mc._y;
// считаем гипотенузу
var r = Math.sqrt((x*x)+(y*y));
// через арксинус получаем нужный угол
var rotation = Math.round((Math.asin(x/r))*180/Math.PI);
// это вышло методом подбора что работало
if (y>0) rotation = 180-rotation
mc._rotation = rotation;
trace(rotation);
}
onEnterFrame=Rotate_Shit;
Последний раз редактировалось Molecula; 04.09.2007 в 18:43. |
|
|||||
|
а у меня трасируются от -90 до 270
запускаю так: |
|
|||||
|
А что мешает добавить Пи/2 к углу в ротации?
__________________
"We Are The Champions My Friends!" Queen |
|
|||||
|
Banned
[+4 01.02.09]
[+1 01.02.09] |
Этот код должен быть помещен в родителя мой_мувик_стрелка, если сделать родителем _root, то система отсчета координат будет левый верхний угол и соответственно вращаться стрелка будет только на 15 минут
Последний раз редактировалось chingachgoog; 05.09.2007 в 10:22. |
|
|||||
|
chingachgoog, спасибо за формулу,
но, в вашем варианте у меня стрелка отстаёт от мышки на 90 град. то есть если мышка справа от клипа, то стрелка смотрит вверх. CorC, то что угол поворота будет не соответствовать положению мышки, как и в примере chingachgoog |
|
|||||
|
Banned
[+4 01.02.09]
[+1 01.02.09] |
Цитата:
|
|
|||||
|
тоесть при этой формуле нулевой градус не вверху, а как в школе - справа?
хорошо, щас запробую. Спасибо |
|
|||||
|
отлично! работает как положенно. Большое спасибо.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 19:23. |
|
|
« Предыдущая тема | Следующая тема » |
|
|