This can be done already using a lambda:

color_lerp = lambda pct: color.lerp(color2, pct)


On Mon, Jul 15, 2019, 13:56 Sam Bull <pyg...@sambull.org> wrote:

> On Mon, 2019-07-15 at 01:32 +0200, René Dudfield wrote:
> > Thanks to @charlesoblack (first time contributor ya!) there is a
> > pygame.Color.lerp() function now. It returns a linear interpolation.
> >
> > >>> color.lerp(color2, 0.0) -> color
> >
> > >>> color.lerp(color2, 0.5) -> halfway_color
> >
> > >>> color.lerp(color2, 1.0) -> color2
>
> That's handy. I wonder if it might even be worth taking it a step further,
> so
> you can just pass an object to a function to update the color progressively
> (i.e. it doesn't need to know the color, it just updates the progress
> value),
> such as:
>
>    color_lerp = ColorLerp(color1, color2)
>    progress = 0
>    while progress < 1:
>        progress += 0.1
>        set_col(color_lerp.lerp(progress))
>
>
> Or anything along those lines...
>

Reply via email to