这是我第一次出现堆栈溢出,希望能得到帮助。
我是kivy的新手,并且很想建立像kivy这样的游戏,我知道如何,但我的问题是让我的化身具有那种运行效果。我以为我可以使用gif图像,但它不起作用。
请帮助我了解如何动画我的头像。
答案 0 :(得分:0)
我制作了一个游戏,其中我有很多.png文件,我想让它们成为爆炸的动画。我将.png文件放入.zip文件并执行以下操作:
explosion = Explosion(
size_hint=(None, None),
source='explosion.zip',
anim_delay=0,
allow_stretch=True,
keep_ratio=False)
Explosion
是这样的:
class Explosion(Image):
pass
虽然所有这些不同的关键字参数都不一定与您相关,但请注意source
,也可能注意anim_delay
args。对我来说,将它设为零使得它有一个平滑的动画,但它可能与gif不同。
来自图片文档:
anim_delay
如果图像是有序的,则延迟动画(就像动画gif一样)。 如果anim_delay设置为-1,则动画将停止。
anim_delay是一个NumericProperty,默认为0.25(4 FPS)。
自从我制作游戏以来已经有一段时间了,但是这里是代码中早期的代码片段:
def __init__(self, **kw):
super(myGame, self).__init__(**kw)
# pre-load zipped pngs using keep_data to avoid delays later
load_zipped_png_files = Image(
source = 'explosion.zip',
anim_delay = 0,
allow_stretch = True,
keep_ratio = False,
keep_data = True)
我相信这会将压缩的.png文件保存在内存中,从而避免以后加载延迟的延迟。这可能实际上并没有达到预期的效果,我不记得说实话,但是,我确实记得它确实如此!如果你走这条路,我建议你自己测试一下。请告诉我它是否成功。