【问题标题】:Java - Slick2D/lwjgl get mouse positionJava - Slick2D/lwjgl 获取鼠标位置
【发布时间】:2015-01-14 09:43:49
【问题描述】:

所以,我正在尝试检查游戏窗口内的鼠标位置,但我的程序没有更新 x 和 y 坐标正确。相反,它只显示 x 和 y 的静态数字。我很漂亮 确定我确实正确设置了 Slick2D 和 lwjgl,因为当我运行应用程序时,会出现一个带有 FPS 计数器的空黑框。

无论如何,以下代码无论出于何种原因都显示“x:-161 y:-1”。我将如何解决这个问题,以便它显示正确的鼠标位置?

import java.util.logging.Level;
import java.util.logging.Logger;
import org.lwjgl.input.Mouse;
import org.newdawn.slick.*;
import org.newdawn.slick.state.*;

public class LogIn extends BasicGameState{

public String mouse;

public LogIn(int state){

}

public void init(GameContainer gc, StateBasedGame sbg) throws SlickException{


}

public void render(GameContainer gc, StateBasedGame sbg, Graphics g) throws SlickException{

    g.setColor(Color.white);
    g.drawString(mouse, 50, 50);
}

public void update(GameContainer gc, StateBasedGame sbg, int delta) throws SlickException{
    int xpos = Mouse.getX();
    int ypos = Mouse.getY();
    mouse = "x: " + xpos + " y: " + ypos; 
}

public int getID(){
    return 1;
}

}

【问题讨论】:

    标签: java position mouse lwjgl slick2d


    【解决方案1】:

    试试这个:

    Input input = gc.getInput();
    int xpos = input.getMouseX();
    int ypos = input.getMouseY();
    

    【讨论】:

      【解决方案2】:

      我想通了。我使用了 lwjgl-2.9.2 下载文件夹中的 lwjgl.jar,它工作正常。 我猜想使用 Slick2D 附带的那个是有问题的。也许我的设置从一开始就错了?无论如何,我得到了它的工作。

      【讨论】:

      • 我遇到了同样的问题,这样做为我解决了这个问题。
      猜你喜欢
      • 1970-01-01
      • 2014-04-17
      • 1970-01-01
      • 2016-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-30
      相关资源
      最近更新 更多