首页 > 解决方案 > 在 PyGame 中播放动画

问题描述

我已经在列表中加载了一些图像,并且在调用时尝试通过循环播放它们,但图像似乎没有加载。这是为了过渡时期。这是我的代码示例:

images = [".\\ANIM\\trans_00001.png",".\\ANIM\\trans_00002.png",".\\ANIM\\trans_00003.png"]

playAnimation=True
counter=0

if playAnimation:
     pygame.image.load(images[counter])
     counter=(counter+1)%len(images)

标签: pythonpygame

解决方案


pygame.image.load返回一个pygame.Surface对象,如果您以后想使用它,您必须将其分配给变量或将其放入列表或其他数据结构中。

我建议在定义images列表时加载图像,因为重复从硬盘加载它们效率低下。

images = [
    pygame.image.load(".\\ANIM\\trans_00001.png"),
    pygame.image.load(".\\ANIM\\trans_00002.png"),
    pygame.image.load(".\\ANIM\\trans_00003.png"),
    ]

然后以这种方式访问​​当前图像:

current_image = images[counter]

推荐阅读