如何在两种颜色之间闪烁对象

How to flash mobject between two colors

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

例如一个红色的对象,我想在 2 秒内在红色和黄色之间来回设置它的颜色 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)

默认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)