图像没有响应不同的键 Pygame Python



美好的一天。当按下相反的键时,我试图使地面左右移动,但由于某种原因,图像只是不断向右移动。这是我代码的合理部分:

虽然没有崩溃,没有超时,也没有退出:

for event in pygame.event.get():
if event.type == pygame.QUIT:
Quit = True
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
gx_change = 2.5
elif pygame.key == pygame.K_RIGHT:
gx_change = -2.5
if pygame.key == pygame.KEYUP:
if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
gx_change = 0
print (event)
gx += gx_change

正如我所说,它一直在正确进行。

更新:它是固定的

谢谢!!!

问题是你的 if 语句实际上在 KEYDOWN 的 if 语句中。这是正确的代码:

while not crashed and not timeOut and not Quit:
for event in pygame.event.get():
if event.type == pygame.QUIT:
Quit = True
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
gx_change = 2.5
elif pygame.key == pygame.K_RIGHT:
gx_change = -2.5
if pygame.key == pygame.KEYUP:
if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
gx_change = 0
print (event)
gx += gx_change

最新更新