Java ゲームの画面の端に、マップ上の別の場所にあるオブジェクトを指すはずの矢印がありますが、画面を一周し続け、オブジェクトを指すことができません。
これが私のコードです:
float angle = (float)Math.toDegrees(Math.atan2(currentInteractive.getY()-player.pos[1], currentInteractive.getX()-player.pos[0]));
arrow.setRotation(angle);
float magnitude;
float abs_cos_angle = (float) Math.abs(Math.cos(angle));
float abs_sin_angle = (float) Math.abs(Math.sin(angle));
if (Main.DISPLAY_WIDTH/2*abs_sin_angle <= Main.DISPLAY_HEIGHT/2*abs_cos_angle)
{
magnitude = Main.DISPLAY_WIDTH/2/abs_cos_angle;
}
else
{
magnitude = Main.DISPLAY_HEIGHT/2/abs_sin_angle;
}
float ax = (float) (camera.viewPort.getCenterX() + Math.cos(angle)*magnitude);
float ay = (float) (camera.viewPort.getCenterY() + Math.sin(angle)*magnitude);
arrow.draw(ax, ay, Color.green);