![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: May 2009
Сообщений: 173
|
Всем привет !
Есть MovieClip как узнать на каком градусе находится мышка на обьекте Mc ? |
|
|||||
|
Зависит от рода и количества выпитого. Если водка(40градусов) массой 20грамм, то считать легко - 20гр разделить на массу мышки, затем результат умножаете на 100% и получаете общий среднемышиный, так сказать, градус.
Можно еще тригонометрией воспользоваться. Определить синус и косинус, а по ним уже угол отклонения от вертикали там или горизонтали. |
|
|||||
|
Регистрация: Jun 2006
Сообщений: 400
|
public function angleRotation(x1,y1,x2,y2):Number { var x_=x2-x1; var y_=y2-y1; var result:Number=0; if (Math.abs(x_)<0.01) { result = (sign(y_)*Math.PI + Math.PI/2); } else if (Math.abs(y_)<0.01) { result = (sign(x_)*Math.PI); } else if (x_>0&&y_>0) { result=Math.asin(y_/Math.sqrt(x_*x_+y_*y_)); } else if (x_<0&&y_>0) { result=Math.PI/2+Math.acos(y_/Math.sqrt(x_*x_+y_*y_)); } else if (x_<0&&y_<0) { result=Math.PI+Math.acos(Math.abs(x_)/Math.sqrt(x_*x_+y_*y_)); } else if (x_>0&&y_<0) { result=3*Math.PI/2 + Math.acos(Math.abs(y_)/Math.sqrt(x_*x_+y_*y_) ); } result = 180*(result)/Math.PI; return result; } function sign(x_):int { if (x_>0) { return 0; } else { return 1; } Или можно одной строкой, но оси ловите сами. |
|
|||||
|
Регистрация: May 2009
Сообщений: 173
|
Опиши что за данные входят angleRotation(x1,y1,x2,y2) ?
|
|
|||||
|
Регистрация: Jun 2006
Сообщений: 400
|
Две точки. x1,y1 - начало координат. x2,y2 - произвольная точка. Мысленно проводим прямую через начало координат и произвольную точку. Получаем в градусах угол между осью Х и прямой.
|
|
|||||
|
Lorem ipsum
|
public function getAngle(x0:Number, y0:Number, x1:Number, y1:Number):Number { return Math.atan2(y1 - y0, x1 - x0); }
__________________
Поймай яблоко 2! Последний раз редактировалось Zebestov; 28.10.2009 в 17:05. |
|
|||||
|
Регистрация: May 2009
Сообщений: 173
|
Цитата:
|
|
|||||
|
Регистрация: Jun 2006
Сообщений: 400
|
Zebestov, круто)
|
|
|||||
|
Lorem ipsum
|
по аналогии getAngle доводим )
__________________
Поймай яблоко 2! |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:34. |
|
|
« Предыдущая тема | Следующая тема » |
|
|