IntellijのWindows 10環境でSlick2Dを使用して簡単なマウスリスナーの例を作成しました。それは正しい座標を報告していないか、まったく機能していません。Slick2D Mouse Windows 10では動作しません
Stateクラス:
jinput-dx8.dll jinput-dx8_64:
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フォルダに以下のファイルを持っています.dllは jinput-raw.dll jinput-raw_64.dll lwjgl.dll lwjgl64.dll OpenAL32.dll OpenAL64.dll
個の次は私のVM引数:
-Djava.library.path = libsに/ -Dorg.lwjgl.opengl.Display.allowSoftwareOpenGL =真
コードを実行しているとき、私はいつも次のエラーを取得する:
Oct 05、2017 11:26:30 AM net.java.games.input.DefaultControllerEnvironment getControllers 警告:不明なWindowsバージョンが見つかりました:Windows 10 Oct 05、2017 11:26:30 AM net.java.games。 input.DefaultControllerEnvironment getControllers INFO:デフォルトのWindowsプラグインを使用しようとしています。 2017年10月5日午前11時26分30秒AM net.java.games.input.DefaultControllerEnvironment getControllers INFO:ロード:net.java.games.input.DirectAndRawInputEnvironmentPlugin
私はそれをプラグイン入力環境がロードされている疑いがあります奇妙なマウスの位置エラーが発生しますか?
どのlwjglバージョンをお使いですか?私もこれらの警告に遭遇していますが、何も破壊していません。 –
私はlwjgl 2.9.3を使用しています。マウスリスナーは機能していますか? – Samuel
ええ、それはすべて私のために働いています。 lwjgl 2.9.1を試して、これをあなたのinitメソッドに入れてください:System.setProperty( "org.lwjgl.input.Mouse.allowNegativeMouseCoords"、 "false"); –