API 参考 / 只读视图、场景、音频与文本
InputType
输入事件类型枚举,配合 InputEvent#type() 分派处理。
方法速览
| 方法 | 用途 |
|---|---|
KEY_PRESSED | 键盘按下(按下沿) |
KEY_RELEASED | 键盘抬起 |
KEY_HELD | 键盘持续按住 |
TEXT_INPUT | 文本输入(键入字符 / 输入法提交) |
MOUSE_PRESSED | 鼠标左键按下(按下沿) |
MOUSE_DRAGGED | 鼠标左键按住移动 |
MOUSE_RELEASED | 鼠标左键释放 |
values() / valueOf(String) | 枚举默认静态方法 |
KEY_PRESSED
java
KEY_PRESSED,行为:键盘按下(按下沿),每帧由宿主按键事件缓冲逐条派发;模组场景实际只会收到本类型(及 TEXT_INPUT、鼠标三型)。
示例:
java
boolean pressed = event.type() == InputType.KEY_PRESSED;KEY_RELEASED
java
KEY_RELEASED,行为:键盘抬起。当前宿主未向模组场景派发本类型,仅作枚举面保留。 示例:
java
boolean released = event.type() == InputType.KEY_RELEASED;KEY_HELD
java
KEY_HELD,行为:键盘持续按住。当前宿主未向模组场景派发本类型(长按请用 InputAccess 轮询)。
示例:
java
boolean held = event.type() == InputType.KEY_HELD;TEXT_INPUT
java
TEXT_INPUT,行为:文本输入(键入字符 / 输入法提交文本),经 InputEvent#text() 携带,keyCode() 恒为 0;仅模组场景派发。注意 TextField#handleInput 只处理 TEXT_INPUT 与 KEY_PRESSED,其余类型直接返回 false。
示例:
java
if (event.type() == InputType.TEXT_INPUT) field.typeString(event.text());MOUSE_PRESSED
java
MOUSE_PRESSED,行为:鼠标左键按下(按下沿),坐标见 mouseX() / mouseY()。示例:
java
boolean down = event.type() == InputType.MOUSE_PRESSED;MOUSE_DRAGGED
java
MOUSE_DRAGGED,行为:鼠标左键按住移动(拖动),每帧持续派发。示例:
java
boolean dragging = event.type() == InputType.MOUSE_DRAGGED;MOUSE_RELEASED
java
MOUSE_RELEASED,行为:鼠标左键释放。示例:
java
boolean up = event.type() == InputType.MOUSE_RELEASED;values()
java
public static InputType[] values();行为:枚举常量数组(按声明顺序),由编译器生成。示例:
java
for (InputType t : InputType.values()) { /* ... */ }valueOf(String)
java
public static InputType valueOf(String name);行为:按名称取枚举常量;名称不匹配时抛 IllegalArgumentException(枚举默认语义)。示例:
java
InputType t = InputType.valueOf("KEY_PRESSED");完整签名
java
public enum InputType {
KEY_PRESSED,
KEY_RELEASED,
KEY_HELD,
TEXT_INPUT,
MOUSE_PRESSED,
MOUSE_DRAGGED,
MOUSE_RELEASED;
public static InputType[] values();
public static InputType valueOf(String name);
}线程:源码未声明额外线程约束。
稳定性:2.0 起冻结:2.x 内只增不破。