anim_stack¶
- class janim.anims.anim_stack.AnimStack(item: Item, time_aligner: TimeAligner)¶
基类:
object用于在
Timeline中记录作用于Item上的Animation- detect_change(item: Item, at: float, *, force: bool = False) None¶
检查物件相比
self.prev_display所记录的物件而言是否发生变化若有变化则记录为
Display对象
- has_detected_change() bool¶
- append(anim: ItemAnimation) None¶
- get_at_left(as_time: float) list[ItemAnimation]¶
- get(as_time: float) list[ItemAnimation]¶
- compute(as_time: float, readonly: bool, *, get_at_left: bool = False) Item¶
得到指定时间
as_time的物件,考虑了动画的作用readonly用来表示调用方是否会对返回值进行修改如果
readonly=True则表示不会进行修改,该方法会放心地直接返回缓存 (但是这并没有强制约束性,传入readonly=True时请遵循不修改返回值的原则,以免影响缓存数据)如果
readonly=False则表示会进行修改,此时会返回缓存的拷贝,避免影响缓存数据
例如:
item_current()中的调用是readonly=False的, 因为item_current()的返回值最终会被用户使用,我们不能保证用户是否会修改,所以我们干脆假定用户会修改例如用于绘制时的调用时
readonly=True,因为绘制时不会对物件数据产生影响
- compute_anims(as_time: float, anims: list[ItemAnimation]) ComputeAnimsGenerator¶
- clear_cache() None¶