ColorCycle accepts start color
This commit is contained in:
parent
0f24be5dad
commit
cce709470f
1 changed files with 6 additions and 5 deletions
|
|
@ -38,12 +38,13 @@ class ColorCycle(Animation):
|
|||
:param float speed: Animation speed in seconds, e.g. ``0.1``.
|
||||
:param colors: A list of colors to cycle through in ``(r, g, b)`` tuple, or ``0x000000`` hex
|
||||
format. Defaults to a rainbow color cycle.
|
||||
:param start_color: An index (from 0) for which color to start from. Default 0 (first color given).
|
||||
"""
|
||||
|
||||
def __init__(self, pixel_object, speed, colors=RAINBOW, name=None):
|
||||
def __init__(self, pixel_object, speed, colors=RAINBOW, start_color=0, name=None):
|
||||
self.colors = colors
|
||||
super().__init__(pixel_object, speed, colors[0], name=name)
|
||||
self._generator = self._color_generator()
|
||||
super().__init__(pixel_object, speed, colors[start_color], name=name)
|
||||
self._generator = self._color_generator(start_color)
|
||||
next(self._generator)
|
||||
|
||||
on_cycle_complete_supported = True
|
||||
|
|
@ -52,8 +53,8 @@ class ColorCycle(Animation):
|
|||
self.pixel_object.fill(self.color)
|
||||
next(self._generator)
|
||||
|
||||
def _color_generator(self):
|
||||
index = 0
|
||||
def _color_generator(self, start_color):
|
||||
index = start_color
|
||||
while True:
|
||||
self._color = self.colors[index]
|
||||
yield
|
||||
|
|
|
|||
Loading…
Reference in a new issue