我想让一个矩形在2个点之间移动,所以当矩形到达点A时,它将移动回到点B。我能够创建一个矩形并为该矩形设置动画以移动到一个点,但是我不确定如何设置“ if语句”以读取矩形位置并将其移回。

def animate_the_button(self, *kwargs):
    self.rect = Rectangle(pos=(75,10), size=(10,50))
    self.canvas.add(self.rect)
    anim = Animation(pos=(75,700))
    anim.start(self.rect)

最佳答案

要在动画完成时调用函数或方法,请将bind()on_complete结合使用:

anim.bind(on_complete=self.animate_way_back)


其中animate_way_back()是将矩形发送回去的方法。请参阅Animation上的文档。

但是由于您似乎希望它不断来回跳动,所以重复动画序列似乎更合适:

anim = Animation(pos=(75,700)) + Animation(pos=(75,10))
anim.repeat = True
anim.start(self.rect)

关于python - 在2点之间移动矩形(或任何基维图形),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57674435/

10-12 13:03