cancel right release when left press is detected in initials

This commit is contained in:
ohsqueezy 2023-01-04 02:21:44 -05:00
parent 5a57b50693
commit b522a23db7
1 changed files with 7 additions and 4 deletions

View File

@ -925,6 +925,7 @@ class Initials(GameChild):
def __init__(self, parent):
GameChild.__init__(self, parent)
self.left_last_pressed = 0
self.button_prompt = BlinkingSprite(self, 500)
font = pygame.font.Font(self.get_resource("terminus/Terminus.ttf"), 32)
self.button_prompt.add_frame(self.get_game().orient(font.render("HOLD RIGHT TO ENTER", True, pygame.Color(0, 0, 0), pygame.Color(255, 255, 255))))
@ -951,16 +952,18 @@ class Initials(GameChild):
if self.active:
self.idle_time = 0
compare = self.get_game().delegate.compare
if compare(event, "left", cancel=False):
self.left_last_pressed = pygame.time.get_ticks()
if compare(event, "right", cancel=False):
self.holding_button = True
elif compare(event, "right", cancel=True):
self.holding_button = False
self.holding_button_elapsed = 0
if compare(event, "right", cancel=True) or compare(event, "left", cancel=True):
if compare(event, "right", cancel=True):
increment = 1
elif compare(event, "left", cancel=True):
if (compare(event, "right", cancel=True) and pygame.time.get_ticks() - self.left_last_pressed > 200) or compare(event, "left", cancel=True):
if compare(event, "left", cancel=True):
increment = -1
elif compare(event, "right", cancel=True):
increment = 1
letter = self.text[self.index]
if letter == '-':
letter = 'A' if increment == 1 else 'Z'