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/19 11:56] – [Un peu de vocabulaire] izawennateliers:pygamelab:boucledejeu [2019/01/20 15:30] (Version actuelle) izawenn
Ligne 11: Ligne 11:
 Comme le vocabulaire existe, autant l'apprendre et l'utiliser. Comme le vocabulaire existe, autant l'apprendre et l'utiliser.
    
- * **frame** :+ * **frame** : Image crée et affiché par le jeu 
  
- * **framerate** : //(où image par seconde)//+ * **framerate** : //(où image par seconde)// Nombre d'image crée et affiché par le jeu en une seconde
    
- * **sprite** :+ * **sprite** : image importé par le jeu 
    
- * **feuille de sprite** :+ * **feuille de sprite** : ficher contenant plusieurs sprites les un a coté des autres dans le but d'obtenir un seul chargement de fichier plutôt que le chargement de plusieurs petits fichier. 
 + 
 + 
 +===== Boucle de jeu ===== 
 + 
 +==== 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 ==== 
 +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 ==== 
 +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 ==== 
 +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.1547895382.txt.gz · Dernière modification : 2019/01/19 11:56 de izawenn