代码之家  ›  专栏  ›  技术社区  ›  Samuel

Slick2D鼠标单击在Windows 10中不起作用

  •  0
  • Samuel  · 技术社区  · 7 年前

    我在Intellij的Windows 10环境中使用Slick2D创建了一个简单的鼠标侦听器示例。它没有报告正确的坐标或根本不工作:

    国家级:

    import org.lwjgl.input.Mouse;
    import org.newdawn.slick.GameContainer;
    import org.newdawn.slick.Graphics;
    import org.newdawn.slick.SlickException;
    import org.newdawn.slick.state.BasicGameState;
    import org.newdawn.slick.state.StateBasedGame;
    public class StateMain extends BasicGameState
    {
    @Override
    public int getID() {return 0;}
    @Override
    public void init(GameContainer container, StateBasedGame game) throws SlickException {}
    @Override
    public void render(GameContainer container, StateBasedGame game, Graphics g) throws SlickException {}
    @Override
    public void update(GameContainer container, StateBasedGame game, int delta) throws SlickException
        {
        System.out.printf("Position: %d,%d\n", Mouse.getX(), Mouse.getY()); // Only reports position (-1,-1)
        }
    @Override
    public void mouseClicked(int button, int x, int y, int clickCount)
        {
        System.out.printf("Clicked: %d,%d\n", x, y); // Doesn't report
        }
    @Override
    public void mousePressed(int button, int x, int y)
        {
        System.out.printf("Pressed: %d,%d\n", x, y); // Only reports (-1,501)
        }
    }
    

    我的libs文件夹中有以下文件:

    jinput-dx8。dll jinput-dx8_64。dll 金普生的。dll jinput-raw_64。dll lwjgl。dll lwjgl64.dll OpenAL64.dll

    以下是我的VM参数:

    运行代码时,我总是会出现以下错误:

    2017年10月5日上午11:26:30。Java语言游戏。输入DefaultControllerEnvironment获取控制器 警告:发现未知的Windows版本:Windows 10 信息:正在尝试使用默认windows插件。 2017年10月5日上午11:26:30。Java语言游戏。输入DefaultControllerEnvironment获取控制器 信息:加载:net。Java语言游戏。输入DirectandRawinPuntenEnvironmentPlugin

    我怀疑它正在加载的输入环境插件导致了奇怪的鼠标位置错误?

    1 回复  |  直到 7 年前
        1
  •  1
  •   LOLWTFasdasd asdad    7 年前

    这对我有用。你能试试lwjgl 2.9.1并把它放在你的init方法:System中吗。setProperty(“org.lwjgl.input.Mouse.allowNegativeMouseCoords”,“false”);