Hello folks,
I have this problem: there is this enemy which rotates to my player. While "orbiting" the enemy with my player I can see that the enemy is rotating towards my player.
And then the enemy suddenly turns around 360 degrees and facing to my player again. I don't know why it does this strange 360 degree turn but it happens everytime when I orbit the enemy for a few seconds. Please - can someone help me out with this problem? I appreciate every hint I can get because I don't know where the problem might be.
Update:Code:tempEnemy.dX = tempEnemy.x - player.x; tempEnemy.dY = tempEnemy.y - player.y; tempEnemy.rotateTo = toDegrees(getRadians(tempEnemy.dX, tempEnemy.dY)); if(tempEnemy.frame < 0) tempEnemy.frame += 360; if(tempEnemy.frame > 359) tempEnemy.frame -= 360; tempEnemy.trueRotation = int((tempEnemy.rotateTo - tempEnemy.frame) / tempEnemy.rotateSpeed); tempEnemy.vX += (player.x - tempEnemy.x) / tempEnemy._speed; tempEnemy.vY += (player.y - tempEnemy.y) / tempEnemy._speed; tempEnemy.vX *= tempEnemy.decay; tempEnemy.vY *= tempEnemy.decay;
Code:private function toDegrees(radians:Number):Number { var degrees:Number = Math.floor(radians * 180 / Math.PI); //trace (degrees); return degrees; } private function getRadians(deltaX:Number, deltaY:Number):Number { var radian:Number = Math.atan2(deltaY, deltaX); if (deltaY < 0) { radian += (2 * Math.PI); } return(radian); }




Reply With Quote