记住 v0.2.0 self.play() 方法

Manim v0.2.0 self.play() method

我不知道如何使用新的 Manim 版本 (v0.2.0) 创建简单的动画。 比如我想把一个圆移到边上,同时缩放。

在以前的版本中我会做如下:

class CircleAnimations(Scene):

    def construct(self):
        circle = Circle()

        self.add(circle)
        self.play(
            circle.scale, 0.2,
            circle.to_edge, UP
        )

        self.wait()

但由于在新版本中,要在 self.play 方法中设置动画,我们必须使用 mobj.animate.method(parameters) ,我尝试将 self.play 方法重写如下:

self.play(
    circle.animate.scale(0.2),
    circle.animate.to_edge(UP)
)

但是这不起作用:似乎 运行 只有第一种方法,在这种情况下,circle.animate.scale(0.2),而不是 circle.animate.scale(0.2)circle.animate.to_edge(UP)

有什么解决办法吗? 提前致谢。

您可以像这样嵌套动画:

self.play(
    circle.animate.scale(0.2).to_edge(UP)
)

另一种方法是使用 ApplyMethod class:

self.play(
    ApplyMethod(circle.scale, 0.2),
    ApplyMethod(circle.to_edge, UP)
)