Python PyGame中的键盘输入错误

Python PyGame中的键盘输入错误,python,pygame,Python,Pygame,我一直在做这个,我不明白为什么它不能正常移动。它只在我按下D代码时向左移动。请帮帮我 bif = "bif.jpg" mif = "games.png" import pygame, sys from pygame.locals import * pygame.init() screen=pygame.display.set_mode((640,360),0,32) background=pygame.image.load(bif).convert() cursor=pygame.image

我一直在做这个,我不明白为什么它不能正常移动。它只在我按下D代码时向左移动。请帮帮我

bif = "bif.jpg"
mif = "games.png"
import pygame, sys
from pygame.locals import *

pygame.init()
screen=pygame.display.set_mode((640,360),0,32)

background=pygame.image.load(bif).convert()
cursor=pygame.image.load(mif).convert_alpha()
x,y=4,4
movex,movey=0,0

while True:
for event in pygame.event.get():
    if event.type == QUIT:
        pygame.quit()

    if event.type == KEYDOWN:
        if event.key==K_a:
            movex=-3
        elif event.key==K_d:
            movex=+3
        elif event.key==K_s:
            movey=+3
        elif event.key==K_w:
            movey= -3
    if event.type == KEYUP:
        if event.key==K_a:
                    movex=0
        elif event.key==K_w:
            movex=0
        elif event.key==K_s:
            movey=0
        elif event.key==K_d:
            movey= 0

            x = x + movex
            y = y+movex

screen.blit(background, (0,0))

screen.blit(cursor, (x,y))
pygame.display.update()

是否可能是硬件错误?

看起来问题在于


它将仅在KEYUP和K_d时运行。尝试取消识别,使其在每次按键后运行。它应该与if语句处于同一级别。

y=y+movex
应该是
y+=movey
        x = x + movex
        y = y+movex