有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我在Intellij的Windows10环境中使用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。动态链接库 jinput-dx8_64。动态链接库 金普生的。动态链接库 jinput-raw_64。动态链接库 lwjgl。动态链接库 lwjgl64。动态链接库 OpenAL32。动态链接库 OpenAL64。动态链接库

以下是我的VM参数:

-贾瓦。图书馆path=libs/-Dorg。lwjgl。opengl。陈列AllowSoftwarePengl=true

在运行代码时,我总是遇到以下错误:

2017年10月5日上午11:26:30净。JAVA游戏。输入DefaultControllerEnvironment GetController 警告:找到未知的Windows版本:Windows 10 2017年10月5日上午11:26:30净。JAVA游戏。输入DefaultControllerEnvironment GetController 信息:正在尝试使用默认windows插件。 2017年10月5日上午11:26:30净。JAVA游戏。输入DefaultControllerEnvironment GetController 信息:加载:网络。JAVA游戏。输入DirectAndRawinPuntenEnvironmentPlugin

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


共 (1) 个答案

  1. # 1 楼答案

    这对我有用。你能试试LWJGL2.9.1并把它放在你的init方法:System中吗。setProperty(“org.lwjgl.input.Mouse.allowNegativeMouse‌​Coords(“假”)