2015-09-03 3 views
0

Я делаю простую змеиную игру, и я хочу показать оценку и дождаться щелчка/касания перед началом новой игры.Ждите ввода пользователя в Kivy

Я пробовал:

while self.paused: 
    pass 

И поставил self.paused = False в on_touch_down(). Он зависает (не удивительно).

Итак, есть ли лучший способ подождать ввода пользователя? (Или какой-либо другой подход).

+0

Я не совсем понимаю контекст, но другой способ приостановить игру - за исключением прерывания клавиатуры. С этим вы можете приостановить (и не показывать) «игру», нажав CTRL + C –

+0

@ThomasWagenaar AFAIK, для линии cmd, правильно? (это приложение gui/nui). Если честно, я не уверен, что вопрос имеет смысл. –

+0

Надеюсь, после редактирования будет больше смысла. –

ответ

1

Я решил это с разным aproach.

Я добавил game_over переменной, и я установил True на игру. Мой on_touch_down() код изменен следующим образом:

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

Я думаю, что я сделал что-то подобное год назад. Ваш подход работает, но я думаю, что иногда вы хотите, чтобы пользователь нажал конкретный ключ.

Мой подход заключался в использовании 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) 

Я надеюсь, что это помогает.

+0

Это интересно, но приложение предназначено в основном для Android. –

+0

На самом деле, теперь, когда я думаю об этом, ваш метод работает хорошо. Этот метод работал хорошо, когда я пытался имитировать введенный ключ. – Godfrey

Смежные вопросы