在 Kivy 中等待用户输入

Wait for user input in Kivy

我正在玩一个简单的贪吃蛇游戏,我想显示分数并等待 click/touch 开始新游戏。

我试过:

while self.paused:
    pass

并将self.paused = False放入on_touch_down()。它冻结了(并不奇怪)。

那么有没有更好的方法来等待用户输入? (或其他一些方法。)

我已经用不同的方法解决了。

我添加了 game_over 变量,并在游戏结束时设置为 True。我的 on_touch_down() 代码更改为:

if self.game_over:
    self.game_over = False
    self.game.start_new_game()
    # ...

我想我一年前做过类似的事情。您的方法有效,但我认为有时您希望用户按下特定的键。

我的方法是使用 PyUserInput PyUserInput

文档中的示例:

from pymouse import PyMouse
from pykeyboard import PyKeyboard

m = PyMouse()
k = PyKeyboard()

# pressing a key
k.press_key('H')

#Create an Alt+Tab combo
k.press_key(k.alt_key)
k.tap_key(k.tab_key)
k.release_key(k.alt_key)

希望对您有所帮助。