我希望能够独立检测到扳机拉闸,但触发器似乎共享一个轴。在
我在MSDN文档中没有看到xboxone控制器上的任何内容,但是对于xbox360控制器,DirectInput触发器共享轴,XInput为每个触发器提供单独的轴。这表明pygame使用的是DirectInput而不是Xinput,但是我不知道如何强制pygame使用Xinput。在
游戏中如何使用直接输入法代替输入法? 如果这真的不可行,我愿意用另一种语言。在
我使用此脚本从控制器读取输入:
import pygame
pygame.init()
screen = pygame.display.set_mode((400,400))
joysticks = []
for i in range(0, pygame.joystick.get_count()):
joysticks.append(pygame.joystick.Joystick(i))
joysticks[-1].init()
while True:
for event in pygame.event.get():
print event
编辑:我现在没有时间把这些写出来,但与此同时,我发现了一个对我有用的代码(在Xbox One频谱控制器上):https://github.com/r4dian/Xbox-360-Controller-for-Python
第一个:
来自https://en.wikipedia.org/wiki/DirectInput#DirectInput_vs_XInput:
第二:
因此,}支持,如果{}有。遗憾的是,
pygame
可以有{SDL
没有。 原因是我之前写的,DirectInput
更受欢迎。 另请查看: http://forums.libsdl.org/viewtopic.php?t=6352&sid=35bdc1b1615f9ea081671ff548a7e360如果愿意,您仍然可以围绕
XInput API
编写包装器。在编辑:
链接到的repo使用ctypes创建XInput API的包装器。在
相关问题 更多 >
编程相关推荐