Path 如何在pygame中一次加载所有图像?

Path 如何在pygame中一次加载所有图像?,path,pygame,pygame-surface,Path,Pygame,Pygame Surface,我正在尝试一次加载所有这些图像。它们都在同一个目录中,所以有没有一种方法可以一次加载它们,而不会重复 bg = pygame.image.load('Desktop/Files/Dungeon Minigame/background.png') f_zombie = pygame.image.load('Desktop/Files/Dungeon Minigame/f_zombie.png') f_knight = pygame.image.load('Desktop/Files/Dungeon

我正在尝试一次加载所有这些图像。它们都在同一个目录中,所以有没有一种方法可以一次加载它们,而不会重复

bg = pygame.image.load('Desktop/Files/Dungeon Minigame/background.png')
f_zombie = pygame.image.load('Desktop/Files/Dungeon Minigame/f_zombie.png')
f_knight = pygame.image.load('Desktop/Files/Dungeon Minigame/f_knight.png')
b_knight = pygame.image.load('Desktop/Files/Dungeon Minigame/b_knight.png')
r_knight = pygame.image.load('Desktop/Files/Dungeon Minigame/r_knight.png')
heart = pygame.image.load('Desktop/Files/Dungeon Minigame/heart.png')
empty_heart = pygame.image.load('Desktop/Files/Dungeon Minigame/empty_heart.png')

获取目录中所有文件的列表(请参阅),并使用加载的文件创建字典:

导入操作系统
path='Desktop/Files/Dungeon Minigame/'
filenames=[f表示os.listdir(path)中的f,如果f.endswith('.png')]
图像={}
对于文件名中的名称:
imagename=os.path.splitext(名称)[0]
images[imagename]=pygame.image.load(os.path.join(path,name)).convert_alpha()
您可以通过名称访问字典中的图像:

screen.blit(图像['background'],(0,0))

或者,您可以使用
globals()
,将变量添加到全局命名空间:

path='Desktop/Files/Dungeon Minigame/'
filenames=[f表示os.listdir(path)中的f,如果f.endswith('.png')]
对于文件名中的名称:
imagename=os.path.splitext(名称)[0]
globals()[imagename]=pygame.image.load(os.path.join(path,name)).convert_alpha()
screen.blit(背景,(0,0))

非常感谢。问题解决了吗?请阅读并考虑你发现最有用的东西。