到目前为止,我已编制了将输出图像的代码。但是当我尝试动画它时,我得到一个“构建需要2个参数.1给定”错误。
import kivy
from kivy.app import App
from kivy.uix.image import Image
from kivy.animation import Animation
from kivy.uix.widget import Widget
class TheApp(App):
def build(self):
image = Image(source= "psychTREE.jpg")
image.allow_stretch= True
image= TheApp.animation()
image.animate()
return image
def animation(self, instance):
animate = Animation(pos = (100, 100), t= "out_bounce")
animate += Animation(pos= (200, 100), t = "out_bounce")
animate &= Animation(size = (500, 500))
animate += Animation(size = (100, 50))
animate.start(instance)
if __name__ == "__main__":
TheApp().run()
有关如何修复此代码的任何建议或想法将不胜感激。我正在尝试为图像设置动画,使其在背景屏幕中左右移动并上下移动。
答案 0 :(得分:2)
您有多个问题:
image= TheApp.animation()
image.animate()
animation
是TheApp的一种方法。你应该通过一个实例来调用它,例如self.animation()
。按照你的方式,你将它称为普通函数,因此它不会收到隐式的self
参数,因此参数太少了。
animation
期望一个参数不仅仅是通常隐式的自我(你将其命名为instance
),但是你没有传递一个,所以函数调用仍然是无效的。
animation
不返回任何内容,因此即使有效,也会将image
设置为None
。
kivy.uix.image.Image和None都没有animate
方法 - 所以我不知道你期望image.animate()
做什么。