Kivy 动画 - 减少持续时间?

时间:2021-03-09 17:15:30

标签: python kivy

我在 kivy 中有小部件类,我在屏幕上制作动画。当我想慢慢减少动画持续时间时,小部件会移动得更快。我的代码更改了持续时间,但在屏幕上没有影响。为什么?

<块引用>

我的小部件类:

class Obstacle3(Widget):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self.animation = Animation(x =-self.width, duration=2)
        Clock.schedule_interval(self.faster, 2)
        self.anim = True
        self.animation.bind(on_complete=self.vanish)
        self.animation.start(self)
    def faster(self, *args):
        if self.animation._duration <= 0.4:
            self.animation._duration = self.animation._duration 
        else:
            self.animation._duration = self.animation._duration - 0.4

1 个答案:

答案 0 :(得分:0)

在动画开始后更改持续时间将不起作用。但是您可以在启动之前设置 transitionAnimation 属性。要使动画在动画后期运行得更快,请尝试使用 in_circin_cubicin_quartin_quintin_expo

另一种方法是调用self.animation.stop(),然后在您想提高动画速度时再启动另一个Animation