Fixed bug where next frame calculation of blink animation could go negative
This commit is contained in:
parent
903e920bef
commit
a83da2c004
1 changed files with 5 additions and 4 deletions
|
|
@ -41,10 +41,13 @@ class ProotState:
|
||||||
return cls._instance
|
return cls._instance
|
||||||
|
|
||||||
def next_blink_frame_number(self) -> int:
|
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
|
self.desired_blink_state = 0
|
||||||
return self.current_blink_state
|
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:
|
if self.current_blink_state < self.desired_blink_state:
|
||||||
self.current_blink_state += 1
|
self.current_blink_state += 1
|
||||||
else:
|
else:
|
||||||
|
|
@ -201,9 +204,7 @@ def update_screen():
|
||||||
proot_state = ProotState()
|
proot_state = ProotState()
|
||||||
|
|
||||||
if proot_state.get_blinks_frames_ready():
|
if proot_state.get_blinks_frames_ready():
|
||||||
frame_number = proot_state.next_blink_frame_number()
|
matrix.SwapOnVSync(blinkFrameCanvases[proot_state.next_blink_frame_number()])
|
||||||
print(frame_number)
|
|
||||||
matrix.SwapOnVSync(blinkFrameCanvases[frame_number])
|
|
||||||
|
|
||||||
|
|
||||||
def interrupt_timer():
|
def interrupt_timer():
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue