我在蛇游戏中有这个循环运动
运动while not gameExit:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
#Arrow keys move snake head.
if event.key == pygame.K_LEFT:
lead_y_change=0
lead_x_change -= 10
if event.key == pygame.K_RIGHT:
lead_y_change=0
lead_x_change += 10
if event.key == pygame.K_UP:
lead_x_change=0
lead_y_change -= 10
if event.key == pygame.K_DOWN:
lead_x_change=0
lead_y_change += 10
lead_x += lead_x_change
lead_y += lead_y_change
gameDisplay.fill(white)
pygame.draw.rect(gameDisplay, black, [lead_x, lead_y, 10, 10])
pygame.display.update()
会发生什么:
当我按下任何箭头键时,循环应该反复更新动作,并且小黑色矩形应该在屏幕上飞行,永远不会再被看到。
会发生什么:
矩形在按键时向下移动10,然后按键向上移动10。然后20按下键,20按键,依此类推。 。 。它似乎也对鼠标运动做出反应。我不知道为什么。我正在使用python 3.4和pygame 1.9。
发生了什么事?如何更正它以获得预期结果?
感谢您的帮助!
答案 0 :(得分:1)
[发布作为答案,以便可以正确完成此问题]
看起来以lead_x += lead_x_change
开头的行需要缩进一级。现在它只会在事件发生时转到那些行。