我有一个像蛇一样的游戏运动循环
动议
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 .
到底是怎么回事?如何更正它以获得预期结果?
谢谢你的帮助!
1 回答
[发布作为答案,以便这个问题可以正确完成]
看起来以
lead_x += lead_x_change
开头的行需要缩进一级 . 现在它只会在事件发生时转到那些行 .