下面是一个示例代码:
from manim import *
import numpy as np
class Problem(MovingCameraScene):
def construct(self):
circle_left = Circle(radius=2).move_to(np.array([-3, 0, 0]))
circle_right = Circle(radius=2).move_to(np.array([3, 0, 0]))
self.add(circle_left, circle_right)
self.wait()
self.play(self.camera.frame.animate.move_to(circle_left.get_center()), self.camera.frame.animate.scale(2))
self.wait()我不明白的是,为什么它只会缩小,不向左移动,同时放大,最后只会以circle_left为中心,然后放大。看起来self.camera.frame.animate.move_to(circle_left.get_center())被忽略了。
我知道将它们分开在两个self.play中是有效的,但是我希望放大和移动到左边的圆圈同时发生:/
谢谢你的帮助!
发布于 2022-02-26 21:41:49
Manim不以这种方式处理调用同一个mobject的同步动画。实际上,您可以使用.animate语法链接动画以获得所需的效果。所以:
self.camera.frame.animate.move_to(<code>).scale(<code>)有关更多上下文,请参阅文档中的教程:
https://docs.manim.community/en/stable/tutorials/building_blocks.html#animating-methods
https://stackoverflow.com/questions/71280144
复制相似问题