В моей игре я хочу, чтобы объект следовал за моей мышью.Координаты мыши и координаты отображаемой карты не равны, поскольку координаты мыши начинаются в верхнем левом углу или на экране, когда карта перемещается, чтобы имитировать движение.
Это то, что у меня так далеко:
public void update() { //called every game tick, ~60/s
move();
}
protected void move() {
if(Mouse.getB() == 1 && !stray) {
x += permX = speed * Math.cos(Math.atan2((Mouse.getY() - (Game.getWindowHeight() / 2)), (Mouse.getX() - (Game.getWindowWidth() / 2))));
y += permY = speed * Math.sin(Math.atan2((Mouse.getY() - (Game.getWindowHeight() / 2)), (Mouse.getX() - (Game.getWindowWidth() / 2))));
}else {
stray = true;
x += permX;
y += permY;
}
}
С помощью приведенного выше кода объект реагирует на движение мыши в зависимости от его положения относительно центра окна и сохраняет текущий импульс, если отпущена левая кнопка.