Composition¶
AnimationGroup¶
-
class
manimlib.animation.composition.
AnimationGroup
(*animations: manimlib.animation.animation.Animation, **kwargs)¶ 动画组,可以传入一系列动画,统一播放
-
build_animations_with_timings
() → None¶ 创建三元组列表 (anim, start_time, end_time)
-
get_all_mobjects
() → manimlib.mobject.mobject.Group¶ Ordering must match the ording of arguments to interpolate_submobject
-
update_mobjects
(dt: float) → None¶ 更新 starting_mobject,以及 Transform 中的 target_mobject 的状态
注意:通常情况下,处在动画进程中的 self.mobject 会停止更新(只处理动画),所以这个方法对它是没有用的
Updates things like starting_mobject, and (for Transforms) target_mobject. Note, since typically (always?) self.mobject will have its updating suspended during the animation, this will do nothing to self.mobject.
-
AnimationGroupExample¶
class AnimationGroupExample(Scene):
def construct(self):
mobjects = VGroup(
Circle(),
Circle(fill_opacity=1),
Text("Text").scale(2)
)
mobjects.scale(1.5)
mobjects.arrange(RIGHT,buff=2)
self.wait()
anims = AnimationGroup(
*[GrowFromCenter(mob) for mob in mobjects]
)
self.play(anims)
self.wait()
Succession¶
-
class
manimlib.animation.composition.
Succession
(*animations: manimlib.animation.animation.Animation, **kwargs)¶ 使子动画逐一播放
-
update_mobjects
(dt: float) → None¶ 更新 starting_mobject,以及 Transform 中的 target_mobject 的状态
注意:通常情况下,处在动画进程中的 self.mobject 会停止更新(只处理动画),所以这个方法对它是没有用的
Updates things like starting_mobject, and (for Transforms) target_mobject. Note, since typically (always?) self.mobject will have its updating suspended during the animation, this will do nothing to self.mobject.
-
SuccessionExample¶
class SuccessionExample(Scene):
def construct(self):
mobjects = VGroup(
Circle(),
Circle(fill_opacity=1),
Text("Text").scale(2)
)
mobjects.scale(1.5)
mobjects.arrange(RIGHT,buff=2)
self.add(mobjects)
self.wait()
anims = Succession(
*[ApplyMethod(mob.shift, DOWN) for mob in mobjects]
)
self.play(anims)
self.wait()
LaggedStart¶
-
class
manimlib.animation.composition.
LaggedStart
(*animations: manimlib.animation.animation.Animation, **kwargs)¶ 可以统一控制
lag_ratio
的动画组
LaggedStartExample¶
class LaggedStartExample(Scene):
def construct(self):
mobjects = VGroup(
Circle(),
Circle(fill_opacity=1),
Text("Text").scale(2)
)
mobjects.scale(1.5)
mobjects.arrange(RIGHT,buff=2)
self.add(mobjects)
self.wait()
anims = LaggedStart(
*[ApplyMethod(mob.shift, DOWN) for mob in mobjects]
)
self.play(anims)
self.wait()
LaggedStartMap¶
-
class
manimlib.animation.composition.
LaggedStartMap
(AnimationClass: type, mobject: Mobject, arg_creator: Callable[[Mobject], tuple] | None = None, **kwargs)¶ 统一控制 动画类、
mobjects
、lag_ratio
的动画组
LaggedStartMapExample¶
class LaggedStartMapExample(Scene):
def construct(self):
mobjects = VGroup(
Circle(),
Circle(fill_opacity=1),
Text("Text").scale(2)
)
mobjects.scale(1.5)
mobjects.arrange(RIGHT,buff=2)
self.add(mobjects)
self.wait()
anims = LaggedStartMap(
FadeOut, mobjects
)
self.play(anims)
self.wait()