Ok thanks to reply so fast :) yeah of course, it seems obvious now but i didn't know there is a way to manage keyboard state without the common event loop. I ll use this created topic to ask something else about the optimization of a game written with pygame. Restrict frames per second with clock.tick(xx) and only update dirty rects (in case of static background) is enough for a quite "simple" 2D game? Or there re more optimizations to do? I don't try to reach perfect performance, only want to make my faster as possible and less CPU consuming.
PS : i'm sorry but i do my best to try to write an understandable english, it s not my native langage at all and i m pretty young but i was forced to learn it to enjoy python/pygame ressources avaiable on the Internet (there is no many french ressources on the Internet...) 2010/11/24 Ian Mallett <geometr...@gmail.com> > Hi, > > Try this: > > > while True: > clock.tick(60) #set on 60 frames per second > > for event in pygame.event.get(): > if event.type == QUIT: > sys.exit() > > key = pygame.key.get_pressed() > > if key[K_LEFT]: heroes.move_left() > > > pygame.display.update(heroes_group.draw(screen)) > > The PyGame event manager fires events *only when a key's state changes *(that > is, the moment it is pressed or the moment it was released, a *single *event > is fired). > > What you want to do is to check the *current state *of the keyboard. " > pygame.key.get_pressed()" does this. The state "key" that it returns can > then be checked for the required key. > > Ian >