Вчимося керувати гравцем
У бібліотеці 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)
Аналогічно робиться обробка для клавіш вправо, вверх та вліво.