首页 > 解决方案 > 将 manim TextMobjects 组合成一个动画对象?

问题描述

如果我有 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为上面的例子编写了语法。

我看过 using VGroup,它似乎很适合我想要完成的工作,但问题是我不知道如何使用它,而且 manim 没有最好的文档(尽管对于很好的理由)。

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

标签: pythonmanim

解决方案


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

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


推荐阅读