如何为图像背景设置动画?

时间:2015-09-22 02:31:38

标签: python animation build kivy

到目前为止,我已编制了将输出图像的代码。但是当我尝试动画它时,我得到一个“构建需要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() 

有关如何修复此代码的任何建议或想法将不胜感激。我正在尝试为图像设置动画,使其在背景屏幕中左右移动并上下移动。

1 个答案:

答案 0 :(得分:2)

您有多个问题:

image= TheApp.animation()
image.animate()
  1. animation是TheApp的一种方法。你应该通过一个实例来调用它,例如self.animation()。按照你的方式,你将它称为普通函数,因此它不会收到隐式的self参数,因此参数太少了。

  2. animation期望一个参数不仅仅是通常隐式的自我(你将其命名为instance),但是你没有传递一个,所以函数调用仍然是无效的。

  3. animation不返回任何内容,因此即使有效,也会将image设置为None

  4. kivy.uix.image.Image和None都没有animate方法 - 所以我不知道你期望image.animate()做什么。