如何在不可视化的情况下在PyBox2D中使用键盘输入

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

我有一个PyBox2D模型,我设法使用Pygame对其进行可视化,但是现在我需要能够在没有任何可视化的情况下对其进行控制,我只想打印给定数量的值(例如速度或角度)。

我尝试过,它可以工作,但是我无法控制模型:

running = True
s = 0

for s in range(1000):
    world.Step(TIME_STEP, 10, 10)
    s += 1
    print(Left_Wheel.position), ' ',Left_Wheel.linearVelocity)
running = False

然后我尝试了这个:

import keyboard
while running and s in range(10000):
    s += 1
    if keyboard.press('w'):
        Left_Wheel.ApplyLinearImpulse(b2Vec2(Left_Wheel.GetWorldVector((0, 20))), Left_Wheel.position,True)
    print(Left_Wheel.position), ' ',Left_Wheel.linearVelocity)
    elif keyboard.press('m'):
        running = False

但是这导致崩溃

python keyboard box2d
1个回答
0
投票

因为没有人回答很长时间,我已经找到了解决方案,如果将来有人遇到类似问题,我将在这里写下:

问题完全出在错误的键盘方法上。我使用keyboard.press但必须使用keyboard.is_pressed( “W”)

在这种情况下,模型不依赖于任何可视化工具,因此我无需看汽车就可以打印所需的任何东西

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