Scene

Scene

class manimlib.scene.scene.Scene(**kwargs)

场景类

  • window_config : 窗口参数

  • camera_config : 相机参数

  • file_writer_config : 文件写入参数

  • start_at_animation_number : 在某个动画开始播放

  • end_at_animation_number : 在某个动画结束播放

  • preview : 是否为预览

add(*new_mobjects)

将 Mobject 添加到场景中,后添加的会覆盖在上层

add_mobjects_among(values)

This is meant mostly for quick prototyping, e.g. to add all mobjects defined up to a point, call self.add_mobjects_among(locals().values())

add_sound(sound_file, time_offset=0, gain=None, **kwargs)

添加声音

anims_from_play_args(*args, **kwargs)

每个 arg 可以是一个 动画的实例,也可以是一个 mobject 的方法,后面的 kwargs 即为这个方法所包含的参数,可以以字典的形式给出

这一系列动画会通过参数列表 args 编译

  • 如果是 动画实例,则会直接添加到 动画列表

  • 如果是一个 mobject 的方法,则会将它包装成 MoveToTarget 实例,其中的参数即为后面的字典或参数
    • 直至读取到下一个动画实例,或是下一个 mobject 的方法之前,都是上面一个 MoveToTarget 的参数

  • 或者采用 ManimCommunity 编写的 Mobject.animate 方法,采用链式操作,将一连串方法编译成一个 MoveToTarget,详见 manimlib.mobject.mobject._AnimationBuilder

一般我们采用 Scene.play 方法,而不是这个,因为 play 方法包装得更全面,而 anims_from_play_args 这个方法只是 play 中的一部分

bring_to_back(*mobjects)

移动到下层

bring_to_front(*mobjects)

移动到最上层

clear()

清空场景

construct()

在此处写入所有动画,由子类重写

embed()

使用 IPython 终端交互

get_animation_time_progression(animations)

获取动画进度条,在此过程中播放动画

get_mobject_copies()

获取场景中物件的拷贝

get_mobjects()

获取场景中的物件

get_time()

获取当前场景时间

get_wait_time_progression(duration, stop_condition)

获取等待进度条,在此过程中播放等待动画

interact()

交互

on_key_press(symbol, modifiers)

键盘按下事件

on_key_release(symbol, modifiers)

键盘释放事件

on_mouse_drag(point, d_point, buttons, modifiers)

鼠标拖拽事件

on_mouse_motion(point, d_point)

鼠标移动事件

on_mouse_press(point, button, mods)

鼠标按下事件

on_mouse_release(point, button, mods)

鼠标弹起事件

on_mouse_scroll(point, offset)

鼠标滚轮滚动事件

on_resize(width: int, height: int)

窗口缩放事件

play(*args, **kwargs)

播放动画

point_to_mobject(point, search_set=None, buff=0)

E.g. if clicking on the scene, this returns the top layer mobject under a given point

remove(*mobjects_to_remove)

从场景中移除某个指定的 Mobject

restore()

将场景恢复到保存的状态

run()

场景运行

save_state()

保存场景当前状态

setup()

construct 被调用前执行

tear_down()

销毁场景

wait(duration=1.0, stop_condition=None)

等待一段时间