manim边学边做--Integer
Integer
是Mobjects
分类中专门用来显示整数的一个class
。
它与上一篇介绍的DecimalNumber
类不同之处在于,它只专注于整数的显示。Integer
在manim
各个模块中的位置如上图中所示。
1. 主要参数
Integer
是继承自DecimalNumber
的,所以使用Integer
的地方,也可以使用DecimalNumber
。
不过,如果只是显示整数的话,还是用Integer
比较好,它默认会自动把小数部分省略掉。
Integer
主要参数和上一篇中的DecimalNumber
类似。
不过,一般使用Integer
的场合基本都不需要指定参数。
2. 主要方法
与DecimalNumber
一样,Integer
的主要方法也是3个:
名称 | 说明 |
---|---|
get_value | 获取数值 |
set_value | 设置数值 |
increment_value | 增加数值 |
不过,与DecimalNumber
不同的是,Integer
的get_value
方法会自动返回整数的部分。
val = Integer(10.56)
print(f"原始数据:{val.get_value()}")
val.set_value(20.22)
print(f"设置数据:{val.get_value()}")
val.increment_value(3.9)
print(f"递增数据:{val.get_value()}")
get_value
会对数值做四舍五入,然后返回整数。这点是与DecimalNumber
的不同之处。
3. 使用示例
Integer
类使用时不太需要指定参数,所以演示一些样式方面的示例。
注意:这里对于Integer
的样式设置,同样适用于上一篇中的DecimalNumber
。
3.1. 位置
通过设置\(x,y\)的坐标可以定位Integer
显示的位置。
定位时,屏幕中心的坐标是\((0,0)\),\(X\)轴方向从左到右,\(Y\)轴方向从下到上。
x = Integer(123).set_x(-2).set_y(2)
y = Integer(321).set_x(2).set_y(-2)
3.2. 大小
设置字体显示的大小用scale
方法。
# 缩小至 1/2
x = Integer(123).scale(0.5)
# 正常大小
y = Integer(321)
# 2倍大小
z = Integer(213).scale(2)
3.3. 颜色
最后,演示设置Integer
的颜色,可以设置单一的颜色,也可以设置渐变色。
# 单一颜色
x = Integer(123).set_color(RED)
# 渐变色
y = Integer(321123).set_color_by_gradient(BLUE_E, YELLOW_E)
4. 附件
最后再强调一遍,Integer
继承自DecimalNumber
,因此上一篇DecimalNumber
中介绍的属性这里的Integer
也可以使用。
同样,这里的示例中演示的位置,大小,颜色的设置,DecimalNumber
也可以使用。
文中完整的代码放在网盘中了(integer.py
),
下载地址: https://url11.ctfile.com/d/45455611-61580017-3188ea?p=6872 (访问密码: 6872)