Клавиши со стрелками
Часть раздела Игровой цикл путешествия по Pygame на Coddy. Урок 5 из 32.
Чтобы перемещать квадрат, храни его положение в переменных и рисуй его там каждый кадр. Измени переменные, и в следующем кадре квадрат окажется в другом месте.
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 = 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()
Все уроки раздела Игровой цикл
1Переместить квадрат
Открыть окноЗалить фонПотренируйтесь самостоятельно: Песочница Pygame