Package sk.tuke.kpi.gamelib
Class Input
- java.lang.Object
-
- sk.tuke.kpi.gamelib.Input
-
public final class Input extends java.lang.Object
Allows querying input devices like keyboard and mouse, and to set listeners on them.An Input object executes in a context of a particular scene.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Input.Button
Enum defining recognized mouse buttons.static interface
Input.InputHandler<T>
static interface
Input.InputHandler2<T,U>
static interface
Input.InputHandler3<T,U,V>
static class
Input.Key
Enum defining recognized keyboard keys.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description @NotNull Point
getCursorPosition()
Gets the current mouse cursor position, relative to the scene's bottom left corner.@NotNull Scene
getScene()
boolean
isButtonPressed(Input.Button button)
Checks whether mouse's button is pressed.boolean
isCursorCatched()
boolean
isKeyDown(@NotNull Input.Key... keys)
Checks whether the key (or multiple keys) is currently down.boolean
isKeyPressed(@NotNull Input.Key... keys)
Checks whether the key (or multiple keys) was just pressed.@NotNull Disposable
onKeyPressed(@NotNull Input.Key key, @NotNull java.lang.Runnable listener)
Register listener to be called when a specific key is pressed.@NotNull Disposable
onKeyPressed(Input.InputHandler<Input.Key> listener)
Registers listener to be called when any key is pressed.@NotNull Disposable
onKeyReleased(@NotNull Input.Key key, @NotNull java.lang.Runnable listener)
Register listener to be called when a specific key is released.@NotNull Disposable
onKeyReleased(Input.InputHandler<Input.Key> listener)
Registers listener to be called when any key is released.@NotNull Disposable
onKeyTyped(Input.InputHandler<java.lang.Character> listener)
Registers listener to be called when a char is typed.@NotNull Disposable
onMouseDragged(Input.InputHandler2<java.lang.Integer,java.lang.Integer> listener)
Registers listener to be called when mouse cursor is dragged.@NotNull Disposable
onMouseMoved(Input.InputHandler2<java.lang.Integer,java.lang.Integer> listener)
Registers listener to be called when mouse cursor is moved.@NotNull Disposable
onMousePressed(Input.InputHandler3<java.lang.Integer,java.lang.Integer,Input.Button> listener)
Registers listener to be called when mouse button is pressed.@NotNull Disposable
onMouseReleased(Input.InputHandler3<java.lang.Integer,java.lang.Integer,Input.Button> listener)
Registers listener to be called when mouse button is release.@NotNull Disposable
registerListener(@NotNull KeyboardListener listener)
Registers keyboard listener to be notified on keyboard events.@NotNull Disposable
registerListener(@NotNull MouseListener listener)
Registers mouse listener to be notified on mouse events.
-
-
-
Method Detail
-
getScene
@NotNull public @NotNull Scene getScene()
-
isKeyDown
public boolean isKeyDown(@NotNull @NotNull Input.Key... keys)
Checks whether the key (or multiple keys) is currently down.
-
isKeyPressed
public boolean isKeyPressed(@NotNull @NotNull Input.Key... keys)
Checks whether the key (or multiple keys) was just pressed.
-
getCursorPosition
@NotNull public @NotNull Point getCursorPosition()
Gets the current mouse cursor position, relative to the scene's bottom left corner.
-
isButtonPressed
public boolean isButtonPressed(@NotNull Input.Button button)
Checks whether mouse's button is pressed.
-
isCursorCatched
public boolean isCursorCatched()
- Returns:
- true if the cursor is caught by the game input.
-
onKeyPressed
@NotNull public @NotNull Disposable onKeyPressed(@NotNull Input.InputHandler<Input.Key> listener)
Registers listener to be called when any key is pressed. The pressed key is passed to the listener.- Returns:
disposable object
that can be used to unregister the listener.
-
onKeyPressed
@NotNull public @NotNull Disposable onKeyPressed(@NotNull @NotNull Input.Key key, @NotNull @NotNull java.lang.Runnable listener)
Register listener to be called when a specific key is pressed.- Returns:
disposable object
that can be used to unregister the listener.
-
onKeyReleased
@NotNull public @NotNull Disposable onKeyReleased(@NotNull Input.InputHandler<Input.Key> listener)
Registers listener to be called when any key is released. The released key is passed to the listener.- Returns:
disposable object
that can be used to unregister the listener.
-
onKeyReleased
@NotNull public @NotNull Disposable onKeyReleased(@NotNull @NotNull Input.Key key, @NotNull @NotNull java.lang.Runnable listener)
Register listener to be called when a specific key is released.- Returns:
disposable object
that can be used to unregister the listener.
-
onKeyTyped
@NotNull public @NotNull Disposable onKeyTyped(@NotNull Input.InputHandler<java.lang.Character> listener)
Registers listener to be called when a char is typed.- Returns:
disposable object
that can be used to unregister the listener.
-
onMouseMoved
@NotNull public @NotNull Disposable onMouseMoved(@NotNull Input.InputHandler2<java.lang.Integer,java.lang.Integer> listener)
Registers listener to be called when mouse cursor is moved.- Returns:
disposable object
that can be used to unregister the listener.
-
onMouseDragged
@NotNull public @NotNull Disposable onMouseDragged(@NotNull Input.InputHandler2<java.lang.Integer,java.lang.Integer> listener)
Registers listener to be called when mouse cursor is dragged.- Returns:
disposable object
that can be used to unregister the listener.
-
onMousePressed
@NotNull public @NotNull Disposable onMousePressed(@NotNull Input.InputHandler3<java.lang.Integer,java.lang.Integer,Input.Button> listener)
Registers listener to be called when mouse button is pressed.- Returns:
disposable object
that can be used to unregister the listener.
-
onMouseReleased
@NotNull public @NotNull Disposable onMouseReleased(@NotNull Input.InputHandler3<java.lang.Integer,java.lang.Integer,Input.Button> listener)
Registers listener to be called when mouse button is release.- Returns:
disposable object
that can be used to unregister the listener.
-
registerListener
@NotNull public @NotNull Disposable registerListener(@NotNull @NotNull KeyboardListener listener)
Registers keyboard listener to be notified on keyboard events.- Returns:
disposable object
that can be used to unregister the listener.
-
registerListener
@NotNull public @NotNull Disposable registerListener(@NotNull @NotNull MouseListener listener)
Registers mouse listener to be notified on mouse events.- Returns:
disposable object
that can be used to unregister the listener.
-
-