如何在python中使用现成的动画(带有aprite) - pygame?

时间:2016-11-01 07:47:07

标签: python animation pygame

是否可以在python,pygame中使用我用aseprite制作的动画? 这只是一个老鼠跑的2幅图像的动画,我希望它是一个可以控制其X和Y坐标的物体。

我发现这比在python,pygame中制作动画更方便 主要是因为动画的速度由我决定一次并保持不变。我所要做的就是在aseprite中导出,导出(如果可能的话) - 将它加载到python-pygame中的变量中, 比如ratRun,它将是我可以使用的对象,并按照我需要的方式操纵它的X和Y变量。

PS 从aseprite导出动画的可能编解码器是: ASE aseprite BMP FLC FLI GIF ICO JPEG JPG PCX PNG TGA

png适用于pygame,但它只是一个图像文件。我原来问题的另一种形式可能是pygame也可以支持动画文件。

1 个答案:

答案 0 :(得分:0)

这是不可能的。在http://www.pygame.org/docs/ref/image.html中,它有一个可以通过Pygame加载的图像类型列表。这是列表(强调添加):

  • JPG
  • PNG
  • GIF(非动画)
  • BMP
  • PCX
  • TGA(未压缩)
  • TIF
  • LBM(和PBM)
  • PBM(和PGM,PPM)
  • XPM

Aseprite只能以gif,png序列或ase格式导出。 Pygame不能使用.ase或GIF动画(动画gif只显示动画的第一帧),以及一系列png,嗯,这只是一个图像列表。要在Pygame中制作动画,你必须有多个图像,并让你的程序迭代它们。据我所知,Pygame不支持任何动画图像。

每个人都以不同的方式制作动画,但对于游戏,人们几乎从未使用过GIF。要查看其他人动画的一些方法,您可以转到http://pygame.org并下载一些提供的程序,以了解他们如何制作动画。如果源代码是.py文件,您可以查看它。

使用gif可能会导致程序中出现许多潜在问题。如果甚至存在轻微的不同的帧速率(几乎总是如此),这将完全关闭动画的时间。此外,精灵会被删除并重新绘制,无论是每个循环还是每次循环时,都取决于您的编程方式。这会导致更多问题。

动画起初可能看起来很难,但是,通过练习,它最终会成为第二天性。