StringMobject¶
该类由 凡人忆拾 编写,旨在让用户更加方便地对物件进行切片操作。
该类的实例支持 TransformMatchingStrings
动画。
该类为 MTex
和 MarkupText
共同的抽象基类。如果想要在将来通过子字符串进行物件的切片,用户应当在创建实例时指定这些子字符串。可以通过 isolate
参数指定子串,
派生类的其它参数(包括 MTex
的 tex_to_color_map
字典键,
MarkupText
的 t2c
字典键等)也可以指定子串,
该文件定义了 Selector
类型如下:
Selector = Union[
str,
re.Pattern,
tuple[Union[int, None], Union[int, None]],
Iterable[Union[
str,
re.Pattern,
tuple[Union[int, None], Union[int, None]]
]]
]
可以通过以下任意一种或多种方式指定子串(详情请参阅各个子类):
isolate
参数(Selector
类型);派生类的部分参数;
派生类特定的文本内部指定模式。
注意
以以上方式指定的所有子串两两不能“部分重合”(一个完全包含另一个是可以的)。
对于指定了至少一个子串的实例,该类将额外生成一份包含颜色信息的SVG(每种颜色对应一个被指定的子串),并按照位置匹配两个 SVG 的各个物件, 使得原始 SVG 的每个物件对应上该颜色标签,从而完成子串与物件的对应。