Outils pour utilisateurs

Outils du site


ateliers:pygamelab:boucledejeu

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
ateliers:pygamelab:boucledejeu [2019/01/20 12:48] – [Un peu de vocabulaire] izawennateliers:pygamelab:boucledejeu [2019/01/20 15:30] (Version actuelle) izawenn
Ligne 23: Ligne 23:
  
 ==== Lecture des événements ==== ==== Lecture des événements ====
 +Dans un premier temps, on lit les événements, c'est à dire que l'on prend les état des touches du clavier ou des manette et on identifie celle qui ont été enfoncés 
 +Bref, on essai d'identifier les actions des joueurs.euses.
 ==== Actualisation ==== ==== Actualisation ====
 +C'est le temps des calculs. A l'étape précédente nous avons recueilli les interactions des joueurs.euses. 
 +Grâce ces informations, nous allons pouvoir calculer les interactions entre les différents objet du jeu. Calculer  des collisions, calculer une physique avec un gravité. Tous cela à pour but d'identifier les sprites à utiliser et leur positions dans la fenêtre.
 ==== Affichage ==== ==== Affichage ====
 +Maintenant que nous avons calculé la position des sprites, nous allons pouvoir les afficher. 
 +Nous avons crée l'image final qui sera vu par les joueurs.euses.
 ==== Framerate ==== ==== Framerate ====
 +Après avoir fait les calculs et avoir affiché l'image finale. Nous devrions normalement être un poil en avance sur le timing.
 +Le but et de ne faire que 30 images par secondes, (où 60 selon ce que l'on choisi). Donc pour respecter la cadence nous allons devoir mettre le programme en pause pendant quelques centièmes de seconde, avant de recommencer la boucle.
  
 +===== En pratique =====
 +Si l'on prend le script que nous avons crée précédemment voila ce que ça donne
 +    # importation de la librairie pygame
 +    import pygame
 +    
 +    FRAMERATE = 30
 +    
 +    # main
 +    def main():
 +        # Initilisation de pygame
 +        pygame.init()
 +    
 +        # Définition de la taille de l'écran
 +        taille_ecran = (800, 600)
 +        ecran = pygame.display.set_mode(taille_ecran)
 +    
 +        # Condition de la boucle de jeu
 +        jeu_en_cours = True
 +    
 +        # Horloge du Framerate
 +        horloge_framerate = pygame.time.Clock()
 +    
 +        #-------Boucle de jeu --------
 +        while jeu_en_cours :
 +    
 +            #--- Lecture des événements ---
 +            for event in pygame.event.get():
 +                if event.type == pygame.QUIT:
 +                    jeu_en_cours = False
 +    
 +                if event.type == pygame.KEYDOWN:
 +                    if event.key == pygame.K_ESCAPE:
 +                        jeu_en_cours = False
 +    
 +            #--- Actualisation du jeu ---
 +    
 +            #--- Affichage ---
 +    
 +            #--- Framerate ---
 +            horloge_framerate.tick(FRAMERATE)
 +            
 +        pygame.quit()
 +    
 +    if __name__ == "__main__":
 +        main() 
ateliers/pygamelab/boucledejeu.1547984924.txt.gz · Dernière modification : 2019/01/20 12:48 de izawenn