【问题标题】:How to use ControllerListener jinput java如何使用ControllerListener jinput java
【发布时间】:2018-04-28 23:54:22
【问题描述】:

如何将 ControllerListener 添加到 jinput 库中的控制器。 我知道 ControllerListener 类是一个接口,并且在 ControllerEnvironment 中有一个添加侦听器的方法,但是即使我这样做什么也没发生,我该如何运行它呢?

【问题讨论】:

    标签: java jinput


    【解决方案1】:

    目前还没有任何插件可以触发 ControllerListener 的方法。由于该项目已经很长时间没有更新,因此创建者可能不会有任何插件,而最后一次更新只是为了删除 Windows 10 未知的通知。

    目前您唯一的解决方案是:

    • 控制器的 poll 方法返回一个布尔值。如果这个布尔值 为 false 则控制器已被移除。
    • 编写您自己的插件或修改现有插件以触发方法 在 ControllerListener 接口中
    • 每隔几秒重建环境并检查 新控制器阵列与旧控制器阵列的差异。

    对于最后一个解决方案,仅调用 ControllerEnvironment.getDefaultEnvironment().getControllers() 是不够的。您必须再次调用插件构造函数。由于大多数插件类都在包可见性上,您可能必须编辑原始源代码才能将它们公开。 DirectAndRawEnvironmentPlugin 已经有一个公共构造函数。所以你可以这样做:

    ControllerEnvironment env = new DirectAndRawEnvironmentPlugin();
    if(!env.isSupported()) {
        env = ControllerEnvironment.getDefaultEnvironment();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-18
      • 1970-01-01
      • 1970-01-01
      • 2011-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-26
      相关资源
      最近更新 更多