For some games like first person shooters, it is often necessary to catch the cursor so it stays in the center of the screen, and only use position deltas to rotate the camera. Other times we might want to position the cursor manually. Both things can be done as follows:
Gdx.input.setCursorCatched(true);
Gdx.input.setCursorPosition(x, y);
Note that catching the cursor only works reliably in the LWJGL/LWJGL3 back-ends.
Cursor catching and positioning is only available on the desktop.
Similarly, changing the cursor image is available on the desktop and on gwt if the browser supports the “cursor:url()” syntax and also supports the png format as cursor. It can be done as follows:
Note: You Should dispose the cursor if you don’t need it anymore
Cursor customCursor = Gdx.graphics.newCursor(new Pixmap(Gdx.files.internal("cursor.png")), hotspotX, hotspotY);
Gdx.graphics.setCursor(customCursor);
You can also change the cursor to a system cursor, this only works in the LWJGL3 backend and in the GWT backend. It can be done as follows:
Gdx.graphics.setSystemCursor(SystemCursor.Crosshair);
Supported system cursors are the
Arrow
Ibeam
Crosshair
Hand
HorizontalResize
VerticalResize
cursors.