我正在编写一个基于Kivy的应用程序,一个游戏,在顶部有一个动画GIF图像,应该循环播放,就像在Finder等程序中一样。但是当它加载到Kivy GUI中时,只显示了一帧。我对Kivy不熟悉,希望能够得到一些帮助解决这个问题。我使用.kv文件来加载图片: Image: source: 'spaceshipgif.gif' allow_stretch: True 我已经研究了kivy网站上的文档并进行了搜索,但未能找到答案。
我不太记得gif的播放状态是什么 - 原则上应该能够工作,但我们的某些供应商在此方面做得比其他供应商更好。据我所记,如果您使用PIL作为图像提供程序编译kivy,则可能会有更好的效果。我认为,一些问题可能是由于技术上不正确的gif文件引起的,这些文件不能被默认提供程序很好地处理,但我对此并不确定。更好的解决方案是将.gif的帧作为图像放入zip文件中,并将该zip的路径设置为您小部件中的图像路径。Kivy将自动为您进行动画处理,包括使更改动画速率(或暂停)变得容易,而不受gif文件问题的限制。