Python输入模块-宽容地检测游戏手柄的轴?

时间:2019-03-09 13:15:22

标签: python gamepad

为简化此问题,假设我只是希望能够检测到我的游戏板的右指尖是否被向上推(但在水平范围内不是水平推拉),向右推(但在一定范围内不是向上推)或被推到左侧(但在宽大的范围内不能向上推)。

不幸的是,需要宽大处理,但是我还没有找到一种方法。到目前为止,我一直在使用输入库: https://pypi.org/project/inputs/ 但这并没有得到很好的记录,据我所知,它不能让您在任何时候比较指尖的确切角度。

使用他们自己的示例代码,我具有以下功能片段:

def get_true_game_input():
    inputArray = [0,0,0,0,0,0,0,0,0,0,0,0,0,0]
    # All the different buttons that are important to be detected, including whether the thumbstick has been moved left, right, or up
    events = get_gamepad()
    for event in events:
      if event.code == "ABS_RY":
        if event.state >= 8000:
            print("top Guard!")
            inputArray[5] = 1
      elif event.code == "ABS_RX":
        if event.state >= 8000:
            inputArray[6] = 1
            print("right guard!")
      elif event.state <= -8000:
            inputArray[4] = 1
            print("left guard!")

进行工作直到有人将操纵杆向上移动,例如向上移动,然后稍微向左或向右移动,然后它将检测到。

问题在于,按照输入似乎起作用的方式,events始终为空或大小为1。因此它将检测水平移动或垂直移动,而一个覆盖另一个。

有什么办法可以解决这个问题?我也愿意使用其他库来重建它,但是找不到其他库。我正在使用DS4工具使用Dualshock 4控制器。

任何帮助或建议将不胜感激。谢谢。

0 个答案:

没有答案