Fixed bug where next frame calculation of blink animation could go negative

This commit is contained in:
CiscoTheWolf 2023-05-23 22:10:51 +02:00
parent 903e920bef
commit a83da2c004

View file

@ -41,9 +41,12 @@ class ProotState:
return cls._instance
def next_blink_frame_number(self) -> int:
if self.current_blink_state == self.desired_blink_state and self.current_blink_state == 10:
if self.current_blink_state == self.desired_blink_state == 10:
self.desired_blink_state = 0
return self.current_blink_state
if self.current_blink_state == self.desired_blink_state == 0:
return self.current_blink_state
if self.current_blink_state < self.desired_blink_state:
self.current_blink_state += 1
@ -201,9 +204,7 @@ def update_screen():
proot_state = ProotState()
if proot_state.get_blinks_frames_ready():
frame_number = proot_state.next_blink_frame_number()
print(frame_number)
matrix.SwapOnVSync(blinkFrameCanvases[frame_number])
matrix.SwapOnVSync(blinkFrameCanvases[proot_state.next_blink_frame_number()])
def interrupt_timer():