我正在创建自己的关卡编辑器,我想在按下空格键时将光标更改为一只手:
@Override
public boolean keyDown(InputEvent event, int keycode) {
switch (keycode) {
case Input.Keys.SPACE:
System.out.println("Spacebar is pressed");
Gdx.graphics.setSystemCursor(Cursor.SystemCursor.Hand);
break;
}
return true;
}
@Override
public boolean keyUp(InputEvent event, int keycode) {
switch (keycode) {
case Input.Keys.SPACE:
Gdx.graphics.setSystemCursor(Cursor.SystemCursor.Arrow);
break;
}
return true;
}
但它没有用,我也不知道为什么......我做错了什么?
答案 0 :(得分:1)
根据Libgdx wiki page,它需要LWJGL3后端:
您也可以将光标更改为系统光标,这仅适用于 LWJGL3后端和GWT后端。它可以按如下方式完成:
Gdx.graphics.setSystemCursor(SystemCursor.Crosshair);
以下摘自原始issue:
您可以轻松切换LWJGL 3后端的LWJGL 2后端 在Gradle。在您的核心项目依赖项中,更改:
compile "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion"
到
compile "com.badlogicgames.gdx:gdx-backend-lwjgl3:$gdxVersion"
确保将gdxVersion设置为最新的快照版本1.7.3-SNAPSHOT。 在桌面启动器中,只需替换LwjglApplicationConfiguration即可 Lwjgl3ApplicationConfiguration和LwjglApplication Lwjgl3Application