manim 异步动画
作者:互联网
首先要知道,如果对一个Mobject使用多个动画,AnimationGroup()只会执行最后一个,Succession()大部分情况下会将这些动画以此播放,少数情况下只会执行最后一个
这是比较成熟的解决方法:
1、实现同时开始,持续时间不同的多个动画
使用Succession(),比如:
t1 = Text("大湘菜") t2 = Text("小湘菜") self.play(t1.animate.shift(RIGHT), Succession(Write(t2), Transform(t2, t1)))
但是Succession()对于animate方法失效,比如:
self.play(Succession(t1.animate.shift(UP), t1.animate.shift(DOWN)))
这样最后只会执行t1.animate.shift(DOWN)
解决方法是使用ApplyMethod()代替animate:
self.play(Succession(ApplyMethod(t1.shift,UP), ApplyMethod(t1.shift,DOWN)))
2、实现不同时开始的动画
使用AnimationGroup():
self.play( AnimationGroup( t1.animate(run_time=1).shift(UP), t2.animate(run_time=1).shift(DOWN), lag_ratio=0.5 ) )
标签:异步,动画,shift,self,t1,Succession,animate,manim 来源: https://www.cnblogs.com/daxiangcai/p/16439464.html