如何使用箭头键创建连续移动的矩形以形成蛇形?

时间:2019-05-05 18:30:21

标签: python

我正在尝试使用pygame在python中创建蛇,但我不知道如何通过按一个键使蛇的头部连续移动。

我尝试使用while循环,但这只会导致程序冻结。

run = True
while run:
    pygame.time.delay(100)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False

    keys = pygame.key.get_pressed()

    if keys[pygame.K_LEFT] and snake_x > 0:
        snake_x -= snake_vel
    if keys[pygame.K_RIGHT] and snake_x < 500 - snake_vel:
        snake_x += snake_vel
    if keys[pygame.K_DOWN] and snake_y < 500 - snake_vel:
        snake_y += snake_vel
    if keys[pygame.K_UP] and snake_y > 0:
        snake_y -= snake_vel

    canvas.fill((0, 0, 0))
    snake = pygame.draw.rect(canvas, (0, 255, 0), (snake_x, snake_y, snake_width, snake_height))
    pygame.display.update()

到目前为止,蛇头只在按住一个箭头键的同时移动,但是我希望它在按住一个箭头键的情况下连续移动,直到按下另一个箭头键为止。

0 个答案:

没有答案