在 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)
希望对您有所帮助。
我正在玩一个简单的贪吃蛇游戏,我想显示分数并等待 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)
希望对您有所帮助。