ValueTracker¶
限定名称: manim.mobject.value_tracker.ValueTracker
- class ValueTracker(value=0, **kwargs)[source]¶
基类:
Mobject
一个可用于追踪(实数值)参数的mobject。对于动画参数变化很有用。
不用于显示。相反,其位置编码某个数字,通常是另一个动画或连续动画用于其更新函数的数字,通过将其视为mobject,它仍然可以像其他任何对象一样被动画和操作。
当使用
animate
语法进行动画时,此值会持续变化。示例
示例: ValueTrackerExample ¶
from manim import * class ValueTrackerExample(Scene): def construct(self): number_line = NumberLine() pointer = Vector(DOWN) label = MathTex("x").add_updater(lambda m: m.next_to(pointer, UP)) tracker = ValueTracker(0) pointer.add_updater( lambda m: m.next_to( number_line.n2p(tracker.get_value()), UP ) ) self.add(number_line, pointer,label) tracker += 1.5 self.wait(1) tracker -= 4 self.wait(0.5) self.play(tracker.animate.set_value(5)) self.wait(0.5) self.play(tracker.animate.set_value(3)) self.play(tracker.animate.increment_value(-2)) self.wait(0.5)
class ValueTrackerExample(Scene): def construct(self): number_line = NumberLine() pointer = Vector(DOWN) label = MathTex("x").add_updater(lambda m: m.next_to(pointer, UP)) tracker = ValueTracker(0) pointer.add_updater( lambda m: m.next_to( number_line.n2p(tracker.get_value()), UP ) ) self.add(number_line, pointer,label) tracker += 1.5 self.wait(1) tracker -= 4 self.wait(0.5) self.play(tracker.animate.set_value(5)) self.wait(0.5) self.play(tracker.animate.set_value(3)) self.play(tracker.animate.increment_value(-2)) self.wait(0.5)
注意
您也可以将ValueTracker链接到更新器。在这种情况下,您必须确保ValueTracker通过
add
方法添加到场景中。示例: ValueTrackerExample ¶
from manim import * class ValueTrackerExample(Scene): def construct(self): tracker = ValueTracker(0) label = Dot(radius=3).add_updater(lambda x : x.set_x(tracker.get_value())) self.add(label) self.add(tracker) tracker.add_updater(lambda mobject, dt: mobject.increment_value(dt)) self.wait(2)
class ValueTrackerExample(Scene): def construct(self): tracker = ValueTracker(0) label = Dot(radius=3).add_updater(lambda x : x.set_x(tracker.get_value())) self.add(label) self.add(tracker) tracker.add_updater(lambda mobject, dt: mobject.increment_value(dt)) self.wait(2)
方法
获取此ValueTracker的当前值。
向ValueTracker增加(添加)一个标量值
将自身转换为mobject1和mobject2之间的插值。
为ValueTracker设置一个新的标量值
属性
animate (动画)
用于动画化
self
的任何方法的应用。animation_overrides (动画覆盖)
depth (深度)
mobject 的深度。
height (高度)
mobject 的高度。
width (宽度)
mobject 的宽度。
- _original__init__(value=0, **kwargs)¶
初始化自身。有关准确签名,请参阅 help(type(self))。