0

我想定义一个动画,它在特定时间段内在两种颜色之间改变 mobject 的颜色。

例如,一个颜色为 RED 的 mobject,我想在 2 秒内将其颜色在 RED 和 YELLOW 之间来回设置 5 次。

下面是我的代码(可以改变颜色,但间隔不均匀),只是想确认一下是否是正确的做法,谢谢!:

class ChangeColor(Animation):
    def interpolate_submobject(self, submobject, starting_sumobject, alpha):
        m = int(alpha * 10) % 2
        if m == 0:
            submobject.set_color(RED)
        else:
            submobject.set_color(YELLOW)
4

1 回答 1

1

默认情况下,alpha增量为smooth,因此您必须将其更改为 才能linear正确显示。

class ChangeColor(Animation):
    CONFIG={
        "rate_func":linear
    }
    def interpolate_submobject(self, submobject, starting_sumobject, alpha):
        m = int(alpha * 10) % 2
        if m == 0:
            submobject.set_color(RED)
        else:
            submobject.set_color(YELLOW)
于 2019-08-14T16:38:40.240 回答