将manim TextMojects分组到一个可设置动画的对象中



如果我有3行manim文本,

l  = TextMobject("Line 1")
l2 = TextMobject("Line 2")
l3 = TextMobject("Line 3")

我想把它们放在一起,我该怎么做?我正在寻找比更容易打字、更像蟒蛇的东西

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))

更像:

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

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

我已经研究过使用VGroup,它似乎与我试图实现的目标很匹配,但问题是我不知道如何使用它,而且manim没有最好的文档(尽管有充分的理由(。

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

Manim中有两种类型的容器,GroupsVGroups,不同之处在于VGroups只能包含VMobjects(基于Bezier曲线的对象(,而Groups可以是其他类型,如Images(不能在VGroups中对图像进行分组,只能在Groups中对图像(。

正如我在这里已经解释过的,完整的文档并不存在,只有部分(EulerTour和TB(。如果你想了解它们是如何使用的,我可以留下这个和这个链接,但一般来说,目前,你必须从源代码中学习(VGroupVMobject的子类,VMobjectMobject的子类(。

最新更新