Java图像指向鼠标

Java图像指向鼠标,java,slick2d,Java,Slick2d,我遇到了一个问题,图像根据玩家位置和鼠标位置之间的差异旋转,但图像实际上并不指向鼠标。我希望图像的顶部中心指向鼠标,而角度似乎总是关闭的。我将在下面发布代码 Input input = gc.getInput(); if (input.isKeyDown(Input.KEY_W)) { position.y -= 3; } if (input.isKeyDown(Input.KEY_A)) { position.x -= 3; } if

我遇到了一个问题,图像根据玩家位置和鼠标位置之间的差异旋转,但图像实际上并不指向鼠标。我希望图像的顶部中心指向鼠标,而角度似乎总是关闭的。我将在下面发布代码

  Input input = gc.getInput();

  if (input.isKeyDown(Input.KEY_W))
  {
     position.y -= 3;
  }

  if (input.isKeyDown(Input.KEY_A))
  {
     position.x -= 3;
  }

  if (input.isKeyDown(Input.KEY_S))
  {
     position.y += 3;
  }

  if (input.isKeyDown(Input.KEY_D))
  {
     position.x += 3;
  }

  float xDistance = input.getAbsoluteMouseX() - position.x;
  float yDistance = input.getAbsoluteMouseY() - position.y;
  double angleToTurn = Math.toDegrees(Math.atan2(yDistance, xDistance));
  entityImage.setRotation((float) angleToTurn);
for的javadoc表示返回值的范围可以是-pi/2到pi/2。
因此需要对该返回值进行补偿

double angleToTurn = Math.toDegrees(Math.atan2(yDistance, xDistance));
if(angleToTurn < 0)
{
        angleToTurn += 360;
}
double angleToTurn=Math.toDegrees(Math.atan2(yddistance,xDistance));
如果(转角<0)
{
转角+=360;
}
1)要更快地获得更好的帮助,请发布一个。2) 你说的“关”是什么意思?什么是期望和预期的结果?