📅  最后修改于: 2023-12-03 15:16:40.007000             🧑  作者: Mango
JInput 是一个 Java 鼠标/键盘等输入设备的 API,主要用于游戏开发等领域。Gradle 是一个基于 Groovy 的构建工具,它可以管理项目依赖,编译代码等。
本文将介绍在 Gradle 中如何引入 JInput,并进行简单的使用。
在 Gradle 中引入 JInput 可以使用 Maven Central 仓库,添加以下依赖:
dependencies {
implementation 'net.java.jinput:jinput:2.0.9'
}
JInput 提供了 Keyboard
类用于获取键盘输入。下面是一个示例代码:
import net.java.games.input.Component;
import net.java.games.input.Controller;
import net.java.games.input.ControllerEnvironment;
import net.java.games.input.Keyboard;
public class Main {
public static void main(String[] args) {
ControllerEnvironment ce = ControllerEnvironment.getDefaultEnvironment();
Controller[] cs = ce.getControllers();
Keyboard keyboard = null;
for (int i = 0; i < cs.length; i++) {
Controller c = cs[i];
if (c.getType() == Controller.Type.KEYBOARD) {
keyboard = (Keyboard)c;
break;
}
}
if (keyboard != null) {
keyboard.poll();
Component[] cs = keyboard.getComponents();
for (int i = 0; i < cs.length; i++) {
Component c = cs[i];
if (c.isAnalog()) {
System.out.println(c.getIdentifier() + ": " + c.getPollData());
} else {
if (c.getPollData() != 0.0f) {
System.out.println(c.getIdentifier());
}
}
}
}
}
}
上面的代码将打印出当前按下的键以及游戏手柄的摇杆等信息。
JInput 提供了 Mouse
类用于获取鼠标输入。下面是一个示例代码:
import net.java.games.input.Component;
import net.java.games.input.Controller;
import net.java.games.input.ControllerEnvironment;
import net.java.games.input.Mouse;
public class Main {
public static void main(String[] args) {
ControllerEnvironment ce = ControllerEnvironment.getDefaultEnvironment();
Controller[] cs = ce.getControllers();
Mouse mouse = null;
for (int i = 0; i < cs.length; i++) {
Controller c = cs[i];
if (c.getType() == Controller.Type.MOUSE) {
mouse = (Mouse)c;
break;
}
}
if (mouse != null) {
mouse.poll();
Component[] cs = mouse.getComponents();
for (int i = 0; i < cs.length; i++) {
Component c = cs[i];
if (c.isAnalog()) {
System.out.println(c.getIdentifier() + ": " + c.getPollData());
} else {
if (c.getPollData() != 0.0f) {
System.out.println(c.getIdentifier());
}
}
}
}
}
}
上面的代码将打印出当前鼠标的位置以及按键的状态。
通过本文的介绍,你应该对如何在 Gradle 中引入 JInput 并进行简单的使用有了基本的了解。但是,JInput 已经停止维护并且不支持 macOS 等系统,建议在开发中使用其他现代的输入设备库。