动画
合格名称:manim.animation.animation.Animation
Python | |
---|---|
Bases: object
一部动画。
动画有固定的时间跨度。
参数
- mobject – 要动画的 mobject。并非所有类型的动画都需要这样做。
- lag_ratio–
定义动画应用于子对象之前的延迟。此延迟与动画的持续时间相关。
这不会影响动画的总运行时间。相反,会调整各个动画的运行时间,以便完整的动画具有定义的运行时间。
- run_time – 动画的持续时间(以秒为单位)。
- rate_func–
该函数根据相对运行时间定义动画进度(请参阅 rate_functions
)。
例如rate_func(0.5)
,动画运行时间一半后完成的动画比例。
reverse_rate_function
反转动画的速率函数。设置对或reverse_rate_function
None影响。如果介绍者动画应转变为移除者动画,则需要明确设置这些,反之亦然。remover``introducer
name
动画的名称。这会在渲染动画时显示。默认为 <类名>(
remover
在此动画之后是否应从场景中删除给定的对象。
suspend_mobject_updating
动画期间是否应暂停 mobject 的更新程序。
笔记
在此类的当前实现中,指定的速率函数在调用中应用,
Animation.interpolate_mobject()
作为调用的一部分Animation.interpolate_submobject()
。对于Animation
通过重写实现的子类interpolate_mobject()
,必须手动应用速率函数(例如,通过传递self.rate_func(alpha)
而不是仅仅alpha
)。
例子
示例:滞后比率
方法
begin |
开始动画。 |
clean_up_from_scene |
Scene 完成动画后清理。 |
copy |
创建动画的副本。 |
create_starting_mobject |
|
finish |
完成动画。 |
get_all_families_zipped |
|
get_all_mobjects |
获取动画中涉及的所有 mobject。 |
get_all_mobjects_to_update |
获取所有要在动画期间更新的 mobject。 |
get_rate_func |
获取动画的速率函数。 |
get_run_time |
获取动画的运行时间。 |
get_sub_alpha |
获取任何子对象子动画的动画进度。 |
interpolate |
设置动画进度。 |
interpolate_mobject |
根据 alpha 值对 mobject 进行插值Animation 。 |
interpolate_submobject |
|
is_introducer |
测试动画是否是介绍人。 |
is_remover |
测试动画是否是移除器。 |
set_name |
设置动画的名称。 |
set_rate_func |
设置动画的速率函数。 |
set_run_time |
设置动画的运行时间。 |
update_mobjects |
更新诸如 starting_mobject 和(对于变换)target_mobject 之类的内容。 |
begin()
开始动画。
该方法在动画播放时被调用。尽可能多的初始化,尤其是任何 mobject 复制,应该存在于这个方法中。
返回类型
None
clean_up_from_scene(scene)
Scene
完成动画后清理。
如果动画是移除器,则这包括remove()
动画 Mobject
。
参数
scene ( Scene ) – 应清除动画的场景。
返回类型
None
copy()
创建动画的副本。
返回
self
的副本
返回类型
finish()
完成动画。
动画结束时会调用此方法。
返回类型
None
get_all_mobjects()
获取动画中涉及的所有 mobject。
顺序必须与 interpolate_submobject 的参数顺序匹配
返回
mobject 的序列。
返回类型
Sequence[ Mobject ]
get_all_mobjects_to_update()
获取所有要在动画期间更新的 mobject。
返回
动画期间要更新的 mobject 列表。
返回类型
List[ Mobject ]
get_rate_func()
获取动画的速率函数。
返回
动画的速率函数。
返回类型
Callable[[float], float]
get_run_time()
获取动画的运行时间。
返回
动画所花费的时间(以秒为单位)。
返回类型
float
get_sub_alpha(alpha, index, num_submobjects)
获取任何子对象子动画的动画进度。
参数
- alpha ( float ) – 整体动画进度
- index ( int ) – 子动画的索引。
- num_submobjects ( int ) – 子动画的总数。
返回
子动画的进度。
返回类型
float
interpolate(alpha)
设置动画进度。
动画期间的每一帧都会调用此方法。
参数
alpha ( float ) – 设置动画的相对时间,0 表示开始,1 表示结束。
返回类型
None
interpolate_mobject(alpha)
根据 alpha 值对 mobject 进行插值Animation
。
参数
alpha ( float ) – 0 到 1 之间的浮点数,表示动画完成的比例。例如,alpha 值 0、0.5 和 1 分别对应于动画完成的 0%、50% 和 100%。
返回类型
None
is_introducer()
测试动画是否是介绍人。
返回
True
如果动画是介绍人,False
否则。
返回类型
bool
is_remover()
测试动画是否是移除器。
返回
True
如果动画是去除剂,False
否则。
返回类型
bool
set_name(name)
设置动画的名称。
参数
name ( str ) – 动画的新名称。
返回
self
返回类型
set_rate_func(rate_func)
设置动画的速率函数。
参数
rate_func ( Callable [ [ float ] , float ] ) – 根据相对运行时间定义动画进度的新函数(请参阅rate_functions
)。
返回
self
返回类型
set_run_time(run_time)
设置动画的运行时间。
参数
- run_time ( float ) – 动画应花费的新时间(以秒为单位)。
- 注意:: ( .. ) – 动画运行时不应更改其运行时间。
返回
self
返回类型
update_mobjects(dt)
更新诸如 starting_mobject 和(对于变换)target_mobject 之类的内容。请注意,由于通常(总是?) self.mobject 会在动画期间暂停其更新,因此这对 self.mobject None作用。
参数
dt(float)–
返回类型
None