在我的游戏中,我想使一个物体跟随我的鼠标。鼠标坐标与渲染的地图的坐标不相等,因为在地图移动以模拟运动时,鼠标坐标始于左上角或屏幕。
这是我到目前为止所拥有的:
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;
}
}
使用上面的代码,对象将根据其相对于窗口中心的位置对鼠标移动做出反应,并在释放左键时保留当前动量。