是否可以同时播放两个具有不同速率函数的动画?
Is it possible to play two animations with different rate functions simultaneously?
假设我想以线性方式旋转一条线,同时用 GrowFromCenter
动画召唤一个文本对象。问题是,以线性方式增长的文本看起来很不合我的口味,我希望它能顺利增长。有没有一种方法可以同时播放两个动画,一个使用 smooth
,另一个使用 linear
速率函数?
下面只是一个简化的代码来描述这种情况。
class test(Scene):
def construct(self):
phi = ValueTracker(0)
line = Line(ORIGIN,(2,0,0))
sample_text = TextMobject("Text")
sample_text.shift(LEFT*2)
line.add_updater(lambda d: d.set_angle(phi.get_value()))
self.add(line)
self.play(
GrowFromCenter(sample_text),
phi.increment_value,PI/2,
rate_func = linear
)
class test(Scene):
def construct(self):
phi = ValueTracker(0)
line = Line(ORIGIN,(2,0,0))
sample_text = TextMobject("Text")
sample_text.shift(LEFT*2)
line.add_updater(lambda d: d.set_angle(phi.get_value()))
self.add(line)
self.play(
GrowFromCenter(sample_text,rate_func = linear),
phi.increment_value,PI/2,{"rate_func":smooth}
)
假设我想以线性方式旋转一条线,同时用 GrowFromCenter
动画召唤一个文本对象。问题是,以线性方式增长的文本看起来很不合我的口味,我希望它能顺利增长。有没有一种方法可以同时播放两个动画,一个使用 smooth
,另一个使用 linear
速率函数?
下面只是一个简化的代码来描述这种情况。
class test(Scene):
def construct(self):
phi = ValueTracker(0)
line = Line(ORIGIN,(2,0,0))
sample_text = TextMobject("Text")
sample_text.shift(LEFT*2)
line.add_updater(lambda d: d.set_angle(phi.get_value()))
self.add(line)
self.play(
GrowFromCenter(sample_text),
phi.increment_value,PI/2,
rate_func = linear
)
class test(Scene):
def construct(self):
phi = ValueTracker(0)
line = Line(ORIGIN,(2,0,0))
sample_text = TextMobject("Text")
sample_text.shift(LEFT*2)
line.add_updater(lambda d: d.set_angle(phi.get_value()))
self.add(line)
self.play(
GrowFromCenter(sample_text,rate_func = linear),
phi.increment_value,PI/2,{"rate_func":smooth}
)