2016-02-23 1 views
1

Je suis en train de faire un jeu en utilisant PyGame (Python 3), et je cherche un moyen de faire tourner le jeu à un FPS fixe.Définir un FPS fixe sur un jeu Python 3

La majeure partie du jeu est située à l'intérieur d'une boucle while géante, où l'utilisateur entre, les sprites sont rendus, etc. Mon problème est que l'exécution du jeu sur un ordinateur lent est bien, mais l'exécuter sur un rapide rend le jeu trop rapide. Je peux, bien sûr, ajouter une commande time.sleep() à la fin de la boucle, mais le jeu tournera trop lentement sur les ordinateurs lents.

Existe-t-il un moyen de faire en sorte que la boucle dure un certain temps? Merci d'avance.

Répondre

1

Utilisez le module d'horloge dans pygame.

clock = pygame.time.Clock() 

Ensuite, dans votre principal appel en boucle cette fois par image:

clock.tick(30) # Now your game will be capped at 30 fps 

Pour en savoir plus sur le module d'horloge est la documentation ici: http://www.pygame.org/docs/ref/time.html