![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
собственно вот код:
///////////////////////Вращение точки////////////////////////////////
function RotatateAboutCenter(deg:Number,dot:MovieClip)
{ //вращение мувика вокруг центра на угол альфа.
trace ("rotat");
var alpha=(deg/180)*Math.PI;
var x1=dot._x;
var y1=-dot._y;// т.к. во flash y=-y
var r=Math.sqrt(x1*x1+y1*y1);
var beta=Math.asin(x1/r);
var deg2=(beta/Math.PI)*180;
dot._x=r*Math.sin(alpha+beta);
dot._y=r*Math.cos(alpha+beta);
trace (deg+" + "+deg2+" = "+Number(deg+deg2));
}
//////////////////////////////////////////////////////////////////////
Косяк в том, что одну половину круга вращается нормально а потом (через 180 градусов) глюкает. исходник здесь:povorot.zip Глюки наверное изза отражения оси y во флэш ( моск уже кипит)
__________________
Отряд Котовскага |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Спасибо всем)) докумекал сам
///////////////////////Вращение точки////////////////////////////////
function RotatateAboutCenter(deg:Number,dot:MovieClip)
{ //вращение мувика вокруг центра по часовой на угол deg.
var radAngle=(deg/180)*Math.PI;
var x = Math.cos (radAngle) * dot._x - Math.sin (radAngle) * dot._y;
var y = Math.sin (radAngle) * dot._x + Math.cos (radAngle) * dot._y;
dot._x=x;
dot._y=y;
}
//////////////////////////////////////////////////////////////////////
__________________
Отряд Котовскага |
![]() |
![]() |
Часовой пояс GMT +4, время: 07:26. |
|
|
« Предыдущая тема | Следующая тема » |
|
|