gpt4 book ai didi

java - JInput 的 getPollData() 不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 06:39:07 27 4
gpt4 key购买 nike

我目前正在处理一些有关双鼠标输入的问题。我查找了几个库并认为 JInput 效果最好。尽管我能够获得插入笔记本电脑的所有设备的列表,但我无法检索任何 PollData。以下代码仅产生 0:

public static void main(String[] args) {

Controller mouse1 = null;
Controller[] cs = ControllerEnvironment.getDefaultEnvironment().getControllers();
for(int i = 0; i < cs.length; i++) {
if(cs[i].getType() == Type.MOUSE) {
mouse1 = cs[i];
}
}
mouse1.poll();
Component[] comps = mouse1.getComponents();
while(true) {
mouse1.poll();
for(int i = 0; i < comps.length; i++) {
System.out.print(comps[i].getName() + ": ");
System.out.println(comps[i].getPollData());
}
}
}

我也尝试过使用键盘输入来解决同样的问题。我可以获得 key 的数量,但无法访问有关 key 状态的任何信息。我希望有人知道如何解决此问题或知道可能导致此问题的原因。

预先感谢您,aquatyp。

最佳答案

我知道这已经快一年了,但为了那些像我一样通过 Google 找到这个的人的利益......

确保您已初始化 OpenGL 显示(请注意 if 语句只是为了消除大量消息):

import net.java.games.input.Controller;
import net.java.games.input.ControllerEnvironment;
import net.java.games.input.Mouse;
import net.java.games.input.RawInputEnvironmentPlugin;

import org.lwjgl.LWJGLException;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.DisplayMode;

public class Main
{
public static void main(String[] args)
{
try
{
Display.setDisplayMode(new DisplayMode(800,600));
Display.create();
}
catch (LWJGLException e)
{
e.printStackTrace();
System.exit(0);
}

RawInputEnvironmentPlugin rep = new RawInputEnvironmentPlugin();
Mouse mouse;
StringBuilder sb = new StringBuilder();
while (!Display.isCloseRequested())
{
int i = 0;
for (Controller controller : ControllerEnvironment.getDefaultEnvironment().getControllers())
{
if (controller.getType() == Controller.Type.MOUSE)
{
//System.out.println(controller.getName() + " | " + controller.getType());
mouse = (Mouse)controller;
mouse.poll();

i += 1;

if (mouse.getX().getPollData() > 0.0f || mouse.getY().getPollData() > 0.0f)
{
sb.append("[");
sb.append(i);
sb.append("] X=");
sb.append(mouse.getX().getPollData());
sb.append(" Y=");
sb.append(mouse.getY().getPollData());
System.out.println(sb.toString());
sb.setLength(0);
}

}
}

Display.update();
}
}
}

关于java - JInput 的 getPollData() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24916586/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com