Dec-12-2019, 04:17 PM
I have some python code that uses a pygame window to establish which key is being pressed. When a key is pressed, the code heads off and does things before coming back to see what the next key pressed might be.
The problem I have is that if the user presses a key repeatedly, even while the 'code heads off and does things', pygame seems to remember what has been pressed rather than waiting for the next keypress. What I want is for the code to ignore any keypresses while the 'go and do stuff' is done then once that's finished, get the next keypress. Hope this makes sense!
The problem I have is that if the user presses a key repeatedly, even while the 'code heads off and does things', pygame seems to remember what has been pressed rather than waiting for the next keypress. What I want is for the code to ignore any keypresses while the 'go and do stuff' is done then once that's finished, get the next keypress. Hope this makes sense!
import pygame import time pygame.init() screen = pygame.display.set_mode((450,282)) screen.fill((0,0,0)) pygame.display.flip() clock = pygame.time.Clock() done = False def go_and_do_things(): print("doing things") time.sleep(2) print("things done") # Loop as long as done == False while not done: for event in pygame.event.get(): # User did something if event.type == pygame.KEYDOWN: keypressedcode = event.key # This is the ASCII code print("keypressedcode is " + str(keypressedcode)) go_and_do_things() elif event.type == pygame.QUIT: # If user clicked close done = True # Flag that we are done so we exit this loop clock.tick(60) time.sleep(4) pygame.quit()