将 manim TextMobjects 分组为一个可动画对象?

app*_*496 3 python manim

如果我有 3 行 manim 文本,

l  = TextMobject("Line 1")
l2 = TextMobject("Line 2")
l3 = TextMobject("Line 3")
Run Code Online (Sandbox Code Playgroud)

我想将它们全部制作成动画,我该怎么做?我正在寻找比它更容易输入和更Pythonic的东西

v = np.array([-3, 2, 0]) # Vector to translate the text by
self.play(ApplyMethod(l.shift, v), ApplyMethod(l2.shift, v), ApplyMethod(l3.shift, v))
Run Code Online (Sandbox Code Playgroud)

更像是:

lines = [l, l2, l3]
g = GroupMobjects(*lines)
v = np.array([-3, 2, 0]) # Vector

self.play(ApplyMethod(g.shift, v))
Run Code Online (Sandbox Code Playgroud)

我刚刚GroupMobjects为上面的例子编写了语法。

我看过 using VGroup,它似乎与我想要完成的任务很匹配,但问题是我不知道如何使用它,并且 manim 没有最好的文档(尽管对于好理由)。

任何解决方案将不胜感激。

The*_*ven 7

Manim 中有两种类型的容器,GroupsVGroups,区别在于VGroups只能包含VMobjects(基于贝塞尔曲线的对象),而Groups可以是其他类型,如图像(不能在 中对图像进行分组VGroups,只能在 中分组Groups)。

正如我已经在这里解释的那样,完整的文档并不存在,只有部分文档(EulerTourTB)。如果您想了解它们是如何使用的,我可以留下thisthis链接,但一般来说,现在您必须从源代码中学习(VGroup是 的子类VMobject,并且VMobject是 的子类Mobject)。