Я пытался вращать стрелку методом setToRotation()
. код был бы
AffineTransform at = AffineTransform.getTranslateInstance(x, y);
public void tick() {
x += sx; y += sy;
at = AffineTransform.getTranslateInstance(x, y);
at.setToRotation(Math.toRadians(rotation));
}
public void render(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
g2d.drawImage('BufferedImage', at, null);
}
моя проблема была бы в том, что сначала я думал, что стрелка исчезнет, но это dr aws это в x = 0
, y = 0
; но если я попытаюсь
System.out.println("X: " + x + ", Y: " + y);
или
System.out.println("X: " + at.getTranslateX() + ", Y: " + at.getTranslateY());
, он показывает координаты x и y, он должен быть в.
о и кстати, я использую Math.atan2(target.x - x, target.y - y);
чтобы вычислить угол между двумя точками, и я не знаю, есть ли лучший метод или я делаю это правильно. Заранее спасибо:)