Interactive¶
MotionMobject¶
-
class
manimlib.mobject.interactive.
MotionMobject
(mobject: manimlib.mobject.mobject.Mobject, **kwargs)¶ 可以用鼠标拖拽移动的物件
传入一个
mobject
将这个物件封装成可以用鼠标拖动的
Button¶
-
class
manimlib.mobject.interactive.
Button
(mobject: Mobject, on_click: Callable[[Mobject]], **kwargs)¶ 按钮
传入一个
mobject
,并注册一个on_click
方法on_click
方法的参数列表中包含一个mobject
,该响应函数需要使用者自行定义
ControlMobject¶
-
class
manimlib.mobject.interactive.
ControlMobject
(value: float, *mobjects: manimlib.mobject.mobject.Mobject, **kwargs)¶ 变量控制器(以下几个类的基类)
value
作为实例的成员变量,mobjects
作为窗口中可以看到的物件-
set_value
(value: float)¶ 设置变量控制器的值
-
EnableDisableButton¶
-
class
manimlib.mobject.interactive.
EnableDisableButton
(value: bool = True, **kwargs)¶ 启用/禁用按钮
传入一个
boolean
值,作为它的变量;以矩形为按钮rect_kwargs
控制矩形的长、宽、透明度width
: 宽度height
: 高度fill_opacity
: 透明度
enable_color
: 启用时颜色disable_color
: 禁用时颜色
Checkbox¶
-
class
manimlib.mobject.interactive.
Checkbox
(value: bool = True, **kwargs)¶ 复选框
功能与 启用/禁用按钮 类似
checkmark_kwargs
: 控制✔️外形的参数cross_kwargs
: 控制❌外形的参数
LinearNumberSlider¶
-
class
manimlib.mobject.interactive.
LinearNumberSlider
(value: float = 0, **kwargs)¶ 线性滑动条
传入一个初始值,其他在参数中给出
min_value
: 最小值max_value
: 最大值step
: 步进rounded_rect_kwargs
: 滑动条外形参数circle_kwargs
: 滑块外形参数
ColorSliders¶
Textbox¶
-
class
manimlib.mobject.interactive.
Textbox
(value: str = '', **kwargs)¶ 文本框
box_kwargs
: 文本框外框参数text_kwargs
: 文本参数
注意:初值不要为空字符串
-
on_key_press
(mob: manimlib.mobject.mobject.Mobject, event_data: dict) → bool | None¶ 键盘按下响应
ControlPanel¶
-
class
manimlib.mobject.interactive.
ControlPanel
(*controls: manimlib.mobject.interactive.ControlMobject, **kwargs)¶ 控制面板
传入一些变量控制器,将它们放在控制面板上
这样整个控制面板就像一个“抽屉”,panel 为抽屉本体,opener 为抽屉的把手
可以用鼠标点击拖拽/鼠标滚轮来移动控制面板
panel_kwargs
主面板参数width
: 宽度height
: 高度
opener_kwargs
把手参数width
: 宽度height
: 高度fill_color
: 填充色fill_opacity
: 透明度
opener_text_kwargs
把手文字参数text
: 把手文本font_size
: 字号
-
add_controls
(*new_controls: manimlib.mobject.interactive.ControlMobject) → None¶ 添加新控制器
-
close_panel
()¶ 关闭控制面板
-
open_panel
()¶ 打开控制面板
-
remove_controls
(*controls_to_remove: manimlib.mobject.interactive.ControlMobject) → None¶ 移除控制器