首页 > 解决方案 > 如何使对象跟随我的房子光标?

问题描述

在我的游戏中,我想让一个对象跟随我的鼠标。鼠标坐标和渲染地图的坐标不相等,因为鼠标坐标从左上角或屏幕开始,而地图移动以模拟移动。

这是我到目前为止所拥有的:

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;
    }
}

使用上面的代码,对象根据其相对于窗口中心的位置对鼠标移动做出反应,并在释放左键时保持当前动量。

标签: javagraphicsmouselistener

解决方案


推荐阅读