Je suis encore nouveau sur python et OpenGL. J'ai écrit un code court pour déplacer une voiture sur l'axe z et here est mon code entièrement écrit si nécessaireMettre en pause et redémarrer le jeu en Python (opengl)
Ce que je veux faire est de mettre en pause le jeu lorsque l'utilisateur frappe "p", redémarrer lorsque "r" et quitter le programme quand « q » ... arrêter de fumer fonctionne parfaitement, mais je ne peut redémarrer ni mettre en pause le jeu malgré tous mes essais et voici la partie que j'ai écrit à considérer tous les cas:
def keyboard (key,x,y):
if key == b"q" :
sys.exit(0)
if key == b"r" :
restart_program()
if key == b"p":
pause()
PS : J'ai essayé le liberary Pygame mais il ne fonctionne pas correctement comme prévu
toute aide?!
Voici un bon tutoriel qui m'a aidé avec ce http://gamedevgeek.com/tutorials/managing-game-states-in-c/. Fondamentalement, vous enveloppez toute votre logique de jeu dans un objet GameState, puis votre "jeu" devient un gestionnaire d'état de jeu. Quand vous voulez faire une pause, votre GameState passera le contrôle à un MenuState, provoquant l'arrêt de la mise à jour de GameState. – Will
Le code dans ma réponse est censé être un modèle, vous devriez déplacer tout votre code courant de mise à jour et de dessin à une fonction appelée 'UpdateAllTheThings' * et * vous devriez avoir toutes vos pièces mobiles bouger d'un montant qui sclaes avec 'time_elapsed' (' glTranslatef (-2.5 + mov, -0.5,0.5 * 2.5) '=>' glTranslatef (-2.5+ (mov * time_elapsed), - 0.5.0.5 * 2.5) '). De cette façon, le laisser 0 empêchera le mouvement, et le passage d'une valeur (millisecondes ou autre) mettra à l'échelle le mouvement avec le temps écoulé depuis la dernière mise à jour. – Will