作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试按顺序对 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/
我正在尝试按顺序对 10 个小部件进行动画处理,每个动画都应在前一个完成时开始。不幸的是,我下面的解决方案按顺序触发所有动画,而无需等待任何完成。 def Animate_Widget(self,in
我是一名优秀的程序员,十分优秀!