mobject

用于可显示对象的基础类。

类型别名

class TimeBasedUpdater
Callable[['Mobject', float], object]
class NonTimeBasedUpdater
Callable[['Mobject'], object]

Group

将多个Mobjects组合在一起。

Mobject

数学对象:可以在屏幕上显示的对象的基类。

函数

override_animate(method)[source]

用于覆盖方法动画的装饰器。

这允许指定一个方法(返回一个Animation),当使用.animate语法来动画化方法的应用时,会调用这个方法。

另请参阅

Mobject.animate

注意

重写的方法不能与普通方法或其他重写方法结合使用,通过使用.animate语法进行方法链式调用。

示例

示例:AnimationOverrideExample

from manim import *

class CircleWithContent(VGroup):
    def __init__(self, content):
        super().__init__()
        self.circle = Circle()
        self.content = content
        self.add(self.circle, content)
        content.move_to(self.circle.get_center())

    def clear_content(self):
        self.remove(self.content)
        self.content = None

    @override_animate(clear_content)
    def _clear_content_animation(self, anim_args=None):
        if anim_args is None:
            anim_args = {}
        anim = Uncreate(self.content, **anim_args)
        self.clear_content()
        return anim

class AnimationOverrideExample(Scene):
    def construct(self):
        t = Text("hello!")
        my_mobject = CircleWithContent(t)
        self.play(Create(my_mobject))
        self.play(my_mobject.animate.clear_content())
        self.wait()
class CircleWithContent(VGroup):
    def __init__(self, content):
        super().__init__()
        self.circle = Circle()
        self.content = content
        self.add(self.circle, content)
        content.move_to(self.circle.get_center())

    def clear_content(self):
        self.remove(self.content)
        self.content = None

    @override_animate(clear_content)
    def _clear_content_animation(self, anim_args=None):
        if anim_args is None:
            anim_args = {}
        anim = Uncreate(self.content, **anim_args)
        self.clear_content()
        return anim

class AnimationOverrideExample(Scene):
    def construct(self):
        t = Text("hello!")
        my_mobject = CircleWithContent(t)
        self.play(Create(my_mobject))
        self.play(my_mobject.animate.clear_content())
        self.wait()

Return type:

LambdaType