import pygame as pg from abc import abstractmethod def color_fader(hue=0, increase=1): color = pg.Color(255, 0, 0) h, s, l, a = color.hsla color.hsla = hue, s, l, a while True: yield color h, s, l, a = color.hsla h = (h + increase) % 360 color.hsla = h, s, l, a class Effect(pg.sprite.Sprite): def __init__( self, image: pg.Surface, rect: pg.Rect, *groups: pg.sprite.Group ) -> None: super().__init__(*groups) self.rect = rect self.image = image def draw(self, surface: pg.Surface): surface.blit(self.image, self.rect)