一个游戏杆可以和pygame一起工作,而另一个不行?

2024-05-16 01:05:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在建造一个机器人,我想用我买的一对漂亮的操纵杆来控制它。到目前为止我一直在使用游戏手柄我的PS4控制器没有任何问题。然而,新操纵杆有一个问题。二十秒或三十秒后,它们就可以正确地冻结输出值了。我想不出有什么原因可以让它们在一定时间内正常工作,然后突然间就冻僵了。在

我的代码很简单:

pygame.init()
leftjoy = pygame.Joystick.joystick(0)
leftjoy.init()
while True:
    print(leftjoy.get_axis(0))
    pygame.event.pump()

更新:

我在Windows上尝试了同样的代码,而不是raspberry pi,它运行得非常好。我计划在控制robot时使用ssh,这样它就可以很好地用于该应用程序。但我还是想知道如何解决这个问题进行测试。在


Tags: 代码游戏init时间机器人原因控制器pygame
1条回答
网友
1楼 · 发布于 2024-05-16 01:05:22

在黑暗中拍了几张照片,没有你的硬件。。。在

  1. 由于PS4控制器工作正常,我猜代码和RasPi运行良好,所以操纵杆本身可能有点问题。问题可能是操纵杆瞬间断开(电源问题、电缆故障、硬件故障),重新连接后会分配一个新地址,如1。我不记得在RasPi中这是一个常见的问题,但是PyGame可能会有问题。下面是另一篇文章,其中包含一些代码,可以帮助您检测和调试软件中的joystick disconnects。为了更快地在硬件上测试这种可能性,在游戏“正常工作”的时候,有意识地提前断开连接,看看是否会出现同样的结果。

  2. 最后,可能是RasPi轮询太快,导致操纵杆冻结。要调试这个,可以尝试在循环中添加延迟。

相关问题 更多 >