如何在 blit() 函数中包含多个变量

问题描述

我想知道是否有办法做类似...

Characternumber = random.randint(1,2)
Character1 = pygame.image.load("Character1.png")
Character2 = pygame.image.load("Character2.png")
screen.blit(Character[Characternumber],(0,0))

我可以为两个字符使用 blit() 代码的地方。

有没有办法做到这一点?

解决方法

如果要对两个字符进行 blit,则需要调用 blit 两次。如果你想 blit 一个随机字符,你必须把这些字符放在一个列表中。但是,列表索引从 0 开始:

Characternumber = random.randint(0,1)
Character1 = pygame.image.load("Character1.png")
Character2 = pygame.image.load("Character2.png")
Character = [Character1,Character2]
screen.blit(Character[Characternumber],(0,0))

要从 e 列表中随机选择一个元素,您还可以使用 random.choice

character_list = [
    pygame.image.load("Character1.png")
    pygame.image.load("Character2.png")
]
character = random.choice(character_list)
screen.blit(character,0))