首页 文章

游戏循环事件听力

提问于
浏览
0

我有一个像蛇一样的游戏运动循环
动议

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 回答

  • 1

    [发布作为答案,以便这个问题可以正确完成]

    看起来以 lead_x += lead_x_change 开头的行需要缩进一级 . 现在它只会在事件发生时转到那些行 .

相关问题