Python 在pygame中加载大量图像的有效方法?

Python 在pygame中加载大量图像的有效方法?,python,image,pygame,Python,Image,Pygame,到目前为止,我一直都是这样做的 pygame.image.load("a.png") pygame.image.load("b.png") pygame.image.load("c.png") 但是,如果我有一个包含60个图像的动画,如何有效地在中加载所有这些图像?出于性能原因,您必须在应用程序循环之前加载文件。 一个选项是加载图像文件并将曲面存储在字典中: 导入操作系统 文件夹=#图像文件夹 files=['a.png','b.p

到目前为止,我一直都是这样做的

pygame.image.load("a.png")
pygame.image.load("b.png")
pygame.image.load("c.png")

但是,如果我有一个包含60个图像的动画,如何有效地在中加载所有这些图像?

出于性能原因,您必须在应用程序循环之前加载文件。
一个选项是加载图像文件并将曲面存储在字典中:

导入操作系统
文件夹=#图像文件夹
files=['a.png','b.png','c.png']
图像={}
对于文件中的文件路径:
path,filename=os.path.basename(filepath)
名称,ext=os.path.splitext(路径)
image=pygame.image.load(os.path.join(文件夹,文件路径)).convent_uuAlpha()
图像[名称]=图像
在应用程序循环中,您可以通过订阅访问图像:

image=images['a']

出于性能原因,必须在应用程序循环之前加载文件。
一个选项是加载图像文件并将曲面存储在字典中:

导入操作系统
文件夹=#图像文件夹
files=['a.png','b.png','c.png']
图像={}
对于文件中的文件路径:
path,filename=os.path.basename(filepath)
名称,ext=os.path.splitext(路径)
image=pygame.image.load(os.path.join(文件夹,文件路径)).convent_uuAlpha()
图像[名称]=图像
在应用程序循环中,您可以通过订阅访问图像:

image=images['a']

您可以将一组图像组合成一张“精灵表”——这是一个包含许多较小图像的单一文件。看,你说的高效是什么意思?执行速度是你担心的还是你不想写60行代码?你可以把它们组合成一个“精灵表”——一个包含许多较小图像的单一文件。看,你说的高效是什么意思?执行速度是你担心的还是你不想写60行代码?糟糕的编码器:如果图像文件是文件夹中唯一的文件,那么将它们的名称硬编码到脚本中的列表中应该是没有必要的-这通常是一个坏主意,尤其是如果它们数量很多的话。文件夹的内容可以通过
os.listdir()
glob.glob()
获得。坏编码:如果图像文件是文件夹中唯一的文件,则不需要在脚本中将它们的名称硬编码到列表中-这通常是一个坏主意,尤其是当它们数量很多时。文件夹的内容可以通过
os.listdir()
glob.glob()
获得。