我的 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);