在pygame

时间:2017-11-05 12:58:04

标签: python pygame

我目前正在制作一款游戏,我希望玩家能够选择四个角色。这是我目前的代码:

running = 1
charactersChoice = ['char.png', 'char2.png', 'char3.png', 'char4.png']
choice = ''

while choice == '':
    screen.fill((47, 79, 79))
    screen.blit(pygame.image.load(charactersChoice[0]), (100,100))
    screen.blit(pygame.image.load(charactersChoice[1]), (700,100))
    screen.blit(pygame.image.load(charactersChoice[2]), (100,600))
    screen.blit(pygame.image.load(charactersChoice[3]), (700,600))

    keys = pygame.key.get_pressed()

    #Choose character

    if keys[pygame.K_1]:
        choice = charactersChoice[0]

    if keys[pygame.K_2]:
        choice = charactersChoice[1]

    if keys[pygame.K_3]:
        choice = charactersChoice[2]

    if keys[pygame.K_4]:
        choice = charactersChoice[3]


    pygame.display.flip()


while running == 1:
#rest of code for game here

如您所见,我将四个不同的角色配置文件显示在屏幕上,然后检查播放器是否按下了1-4键以选择其选项。选择它们的选项后,它应该移动到主循环上。目前,如果我按下按键' 1'代码运行时,它不会将变量选择更改为预期的。

希望我已经很好地解释了我的问题。

1 个答案:

答案 0 :(得分:2)

在使用pygame.event.pump()之前,您必须至少调用pygame.key.get_pressed()一次,以便pygame可以检查已按下的键。