gpt4 book ai didi

python-2.7 - 使用递归与 Kivy on_complete 动画事件?

转载 作者:行者123 更新时间:2023-12-04 01:31:42 24 4
gpt4 key购买 nike

我正在尝试按顺序对 10 个小部件进行动画处理,每个动画都应在前一个完成时开始。不幸的是,我下面的解决方案按顺序触发所有动画,而无需等待任何完成。

def Animate_Widget(self,index):
if index < 10:
anim = Animation(x = self.position[index][0], y = self.position[index][1], d=1)
anim.bind(on_complete=self.Animate_Widget(index + 1))
anim.start(self.ids['widget' + str(index)])

def Resize_Layout(self):
self.Animate_Widget(0)

最佳答案

这里:

anim.bind(on_complete=self.Animate_Widget(index + 1))

你马上调用你的回电。这是因为 anim.bind 的参数在调用时进行评估。相反,定义另一个函数或 lambda 来延迟可以在没有任何参数的情况下调用的调用:
def callback():
self.Animate_Widget(index + 1)
anim.bind(on_complete=callback)

或者:
anim.bind(on_complete=lambda: self.Animate_Widget(index + 1))

关于python-2.7 - 使用递归与 Kivy on_complete 动画事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27623010/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com