2015-02-12 2 views
-2

Я пытаюсь создать 2D-игру с высоты птичьего полета, но мои ключи W и S не перемещают мой персонаж (в настоящее время только прямой) вверх и вниз. Вот код, который не работает.Pygame не регистрирует нажатия клавиш

pressed = pygame.key.get_pressed() 
if pressed[pygame.K_a]: x -= 3 
if pressed[pygame.K_d]: x += 3 
if pressed[pygame.K_w]: y -= 3 
if pressed[pygame.K_s]: y += 3 

P.S. Да, у меня есть правильный цикл while и display.flip() и т. Д. Клавиши D и A работают и перемещаются из стороны в сторону, это просто клавиши S и W, которые не работают.

+0

Возможно, вы не имеете переменную 'y'. Можете ли вы предоставить весь код? –

+0

У меня есть переменная y и x. –

+0

Теперь вам нужно установить координаты прямоугольника в 'x' и' y'. –

ответ

1

Ваши x и y переменные, вероятно, не используется для обновления положения прямоугольников:

# in while loop 

rect.x = x 
rect.y = y 

screen.blit(image, rect) 
+0

Как я могу это исправить? –

+0

Вам нужен объект прямоугольника для рисования спрайта. –