У меня проблемы с выключением этой функции вращения.У меня есть башня, которая должна вращаться в направлении другого движущегося объекта.он должен найти кратчайшее направление для поворота.
В основном то, что я сделал, это преобразование поворота скрипта действия из -1 -> -179 в 180 -> 359. но теперь у меня возникают проблемы, когда объект, за которым он отслеживается, проходитнад точкой нулевой степени.тогда турент вращается в другом направлении.
вот код.мой разум становится немного ошеломленным.передается разница x между объектами и разница y
public function Move(xdiff:Number,ydiff:Number){
var currentRotation:Number;
rot = Math.round(Math.atan(ydiff/xdiff) * (180/Math.PI));
if(xdiff < 0){
//this.rotation = 180 + rot;
rot = rot + 180
}else{
//this.rotation = rot;
}
if(rot < 0 && rot > -90){
rot = 270 + 90 + rot;
}
trace("idealrotation: " + rot + "currentrotation: " + rotation);
currentRotation = rotation;
if(currentRotation < 0){
currentRotation += 360;
}
if(rot - currentRotation > 0){
if(Math.abs(rot-currentRotation) < 5){
rotation = rot;
}else{
rotation += rotationSpeed;
}
}else if(rot - currentRotation < 0){
if(Math.abs(rot-currentRotation) < 5){
rotation = rot;
}else{
rotation -= rotationSpeed;
}
}else{
rotation = rot;
}
//this.rotation = rot;
}