Клавиши со стрелками
Урок 5 из 41 курса Создавайте игры с Pygame на Coddy.
Чтобы перемещать квадрат, храни его положение в переменных и рисуй его там каждый кадр. Измени значения переменных — и в следующем кадре квадрат окажется в другом месте.
pygame.key.get_pressed() сообщает, какие клавиши нажаты прямо сейчас. Обращайся к результату по константе клавиши, например pygame.K_RIGHT: пока клавиша нажата, результатом будет True.
x = 100
while running:
# события
keys = pygame.key.get_pressed()
if keys[pygame.K_RIGHT]:
x += 4
# залей, затем нарисуй в точке xУдерживай клавишу Right, и квадрат будет перемещаться на 4 пикселя за каждый кадр, то есть на 240 пикселей в секунду при частоте 60 кадров в секунду. Константы клавиш со стрелками — K_LEFT, K_RIGHT, K_UP и K_DOWN. Вверх — значит меньшее значение y.
Создай переменные до цикла. Переменная, заданная внутри цикла, начинает отсчёт заново на каждом кадре. x, y = 100, 50 задаёт два имени в одной строке: x получает значение 100, а y — 50.
Задание
ЛегкоПеремещай квадрат клавишами со стрелками.
- Перед циклом задай
x, y = 220, 160иspeed = 4. - В цикле после обработки событий считай состояние клавиш с помощью
pygame.key.get_pressed(). Каждая удерживаемая клавиша со стрелкой изменяетxилиyна значениеspeed. - Нарисуй квадрат в точке
(x, y, 40, 40).
Нажми «Играть» и удерживай клавиши со стрелками: квадрат будет двигаться. Затем нажми «Проверить».
Попробуйте сами
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Move the Square")
clock = pygame.time.Clock()
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill((30, 30, 46))
pygame.draw.rect(screen, (255, 196, 0), (220, 160, 40, 40))
pygame.display.flip()
clock.tick(60)
pygame.quit()
Все уроки раздела Создавайте игры с Pygame
1Игровой цикл
Откройте окноЗалейте фонПотренируйтесь самостоятельно: Песочница Pygame