Skip to main content

Вчимося керувати гравцем

У бібліотеці pygame з подіями працює не лише модуль event. Так, модуль pygame.key включає функції, пов'язані виключно з клавіатурою. Тут функція pygame.key.get_pressed(), яка повертає кортеж двійкових значень. Індекс кожного значення відповідає своїй клавіатурній константі. Саме значення дорівнює 1, якщо кнопка натиснута, і 0 – якщо не натиснута. Наприклад,

keys = pygame.key.get_pressed()

if keys[pygame.K_LEFT]:

print(‘Натиснута клавіша вліво’)

Спочатку додамо клавіші руху до імпорту. Рядок прийме вигляд:

from pygame.constants import QUIT, K_DOWN, K_UP, K_LEFT, K_RIGHT

Спробуємо обробити натискання стрілочки вниз на нашій клавіатурі:

keys = pygame.key.get_pressed()

if keys[pygame.K_DOWN]:

player_rect = player_rect.move([0, 1])

або ввівши змінну для руху вниз та зробивши обмеження для виходи за межі екрану:

player_move_down = [0, 1]

if keys[K_DOWN] and player_rect.bottom < HEIGHT:

player_rect = player_rect.move(player_move_down)

Аналогічно робиться обробка для клавіш вправо, вверх та вліво.