Как вы проверяете события клавиатуры с kivy?

Итак, некоторое время назад я начал учить себя киви. Я начал с основного сайта киви и прошел его учебник по понгу, и, закончив, я решил попробовать и дать ему ключевой вклад. Я просто не могу найти какой-либо справочник по ключевым словам с киви! Кто-нибудь знает какой-то учебник или может предоставить какой-то простой для понимания код? Я посмотрел на прослушиватель клавиатуры в папке примеров kivy, но я не совсем уверен, как использовать это, если я должен.

Спасибо за любую помощь.

Ответы

Ответ 1

Думаю, вы спрашиваете, как управлять веслами с помощью клавиатуры. Я предполагаю, что у вас есть окончательные коды пинг-понга, запущенные на вашем компьютере (если нет, вы можете найти их в конце в этом разделе).

1 - В main.py импортируйте класс Window:

from kivy.core.window import Window

2 - переопределите начало класса PongGame, чтобы он выглядел следующим образом:

class PongGame(Widget):
    ball = ObjectProperty(None)
    player1 = ObjectProperty(None)
    player2 = ObjectProperty(None)

    def __init__(self, **kwargs):
        super(PongGame, self).__init__(**kwargs)
        self._keyboard = Window.request_keyboard(self._keyboard_closed, self)
        self._keyboard.bind(on_key_down=self._on_keyboard_down)

    def _keyboard_closed(self):
        self._keyboard.unbind(on_key_down=self._on_keyboard_down)
        self._keyboard = None

    def _on_keyboard_down(self, keyboard, keycode, text, modifiers):
        if keycode[1] == 'w':
            self.player1.center_y += 10
        elif keycode[1] == 's':
            self.player1.center_y -= 10
        elif keycode[1] == 'up':
            self.player2.center_y += 10
        elif keycode[1] == 'down':
            self.player2.center_y -= 10
        return True

Вуаля! Нажмите w и s для левого весла и up и down для правого весла.