Клавиши со стрелками
Урок 5 из 40 курса Создавай игры на 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Удерживайте клавишу вправо, и квадрат будет перемещаться на 4 пикселя за каждый кадр — на 240 пикселей в секунду при 60 кадрах в секунду. Клавиши со стрелками — это K_LEFT, K_RIGHT, K_UP и K_DOWN. Вверх означает меньшее значение y.
Создайте переменные до цикла. Переменная, заданная внутри цикла, будет сбрасываться на каждом кадре.
Задание
ЛегкоПеремещай квадрат с помощью клавиш со стрелками:
- Перед циклом задай
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