It should be enough for simple games. If you go to this link http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470068221,descCd-DOWNLOAD.html <http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470068221,descCd-DOWNLOAD.html>you can download all the code for the book, and you'll see that the simple games just use these techniques. (I'm not recommending the book, just pointing out a source of code for simple 2D games.)
P.S. Your English is not perfect, but quite understandable; keep up the good work. Saul On Wed, Nov 24, 2010 at 12:53 PM, Nathan BIAGINI <nathan.o...@gmail.com>wrote: > 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 >> > >