问题描述
我尝试对乒乓球使用animated.gif 或animated.zip,但它不起作用, 是否可以将动画.gif(或动画.zip)用于画布对象?
https://kivy.org/doc/stable/tutorials/pong.html
<PongBall>:
size : 50,50
canvas:
Ellipse:
pos : self.pos
size: self.size
source: 'animated.gif'
#source: 'animated.zip'
解决方法
我认为您不能直接使用图像序列。但是您可以使用纹理来更新您的画布。
class PongGame(Widget):
def __init__(self,**kwargs):
super().__init__(**kwargs)
with self.canvas:
ellipse = Ellipse(size=self.size,pos=self.pos)
img = Image(source='animated.zip',anim_delay=1/20)
img.bind(texture=lambda *args: self.update_texture(ellipse,img))
def update_texture(self,ellipse,img):
ellipse.texture = img.texture