Котяра
02.05.2007, 12:00
собственно вот код:
///////////////////////Вращение точки////////////////////////////////
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 градусов) глюкает.
исходник здесь:17157
Глюки наверное изза отражения оси y во флэш ( моск уже кипит)
///////////////////////Вращение точки////////////////////////////////
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 градусов) глюкает.
исходник здесь:17157
Глюки наверное изза отражения оси y во флэш ( моск уже кипит)