一个操纵杆可以与 pygame 配合使用,而另一个则不能?

问题描述 投票:0回答:1

我目前正在建造一个机器人,我想用我买的一对漂亮的操纵杆来控制它。到目前为止,我一直在使用 pygame.joystick,我的 PS4 控制器没有任何问题。然而,新的操纵杆有一个问题。它们会在二十或三十秒内输出正确的值并正常运行,但随后它们就会冻结在某个值上。我想不出有什么理由让它们在一段时间内工作正常,然后突然就冻结了。

我的代码很简单:

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

更新:

我在 Windows 而不是树莓派上尝试了同样的代码,它运行得很好。我计划在控制机器人时使用 ssh,因此它应该适合该应用程序。但我还是想知道如何解决这个问题进行测试。

python pygame joystick
1个回答
1
投票

在黑暗中拍摄几张照片,无法访问您的硬件......

  1. 既然 PS4 控制器可以工作,我猜代码和 RasPi 运行状况良好,所以操纵杆本身可能有点问题。问题可能是操纵杆暂时断开连接(电源问题、电缆故障、硬件故障),重新连接后会分配一个新地址,例如 1。我不记得这是 RasPi 中的常见问题,但 PyGame可能有问题。这是另一篇文章,其中包含一些代码,可以帮助您检测和调试软件中的操纵杆断开连接。为了更快地测试硬件中的这种可能性,请在游戏“运行”时有意尽早进行短暂的断开连接,看看是否会发生相同的结果。

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

© www.soinside.com 2019 - 2024. All rights reserved.