manim如何按绝对时间管理动画
写了个header.py
from manim import *
import manim
# 配置中文支持
manim.config.tex_template = manim.TexTemplate(
tex_compiler="xelatex",
output_format=".pdf",
preamble=r"""
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{xeCJK}
\setCJKmainfont{SimHei} % 设置中文字体
"""
)
# from manimlib.imports import *
class TimeScene(Scene):
def __init__(self):
super().__init__()
self.t = 0 # 当前时间
def do(self, time_val, func=None, *args, abs=False, **kwargs):
"""终极简洁版本"""
if abs: # 绝对时间
wait_time = max(0.1, time_val - self.t)
if func == self.wait:
func(wait_time)
elif func and args:
kwargs['run_time'] = wait_time
func(*args, **kwargs)
self.t = self.t+wait_time
else: # 相对时间
if func == self.wait:
func(time_val)
elif func and args:
kwargs['run_time'] = time_val
func(*args, **kwargs)
self.t += time_val

浙公网安备 33010602011771号