ateliers:pygamelab:boucledejeu
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
ateliers:pygamelab:boucledejeu [2019/01/19 11:52] – izawenn | ateliers:pygamelab:boucledejeu [2019/01/20 15:30] (Version actuelle) – izawenn | ||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
Quand on parle d'un jeu vidéo graphique en deux dimensions, il faut d' | Quand on parle d'un jeu vidéo graphique en deux dimensions, il faut d' | ||
Il s'agit de crée un succession d' | Il s'agit de crée un succession d' | ||
+ | |||
Le but final étant de crée une scène qui soit compréhensible pour le.a joueur.euse. | Le but final étant de crée une scène qui soit compréhensible pour le.a joueur.euse. | ||
===== Un peu de vocabulaire ===== | ===== Un peu de vocabulaire ===== | ||
Comme le vocabulaire existe, autant l' | Comme le vocabulaire existe, autant l' | ||
- | * **Une frame** : | + | |
- | * **Un sprite** : | + | * **frame** : Image crée et affiché par le jeu |
- | * **Une feuille de sprite** : | + | |
+ | * **framerate** : //(où image par seconde)// Nombre d' | ||
+ | |||
+ | * **sprite** : image importé par le jeu | ||
+ | |||
+ | * **feuille de sprite** : ficher contenant plusieurs sprites les un a coté des autres dans le but d' | ||
+ | |||
+ | |||
+ | ===== Boucle de jeu ===== | ||
+ | |||
+ | ==== Lecture des événements ==== | ||
+ | Dans un premier temps, on lit les événements, | ||
+ | Bref, on essai d' | ||
+ | ==== Actualisation ==== | ||
+ | C'est le temps des calculs. A l' | ||
+ | Grâce ces informations, | ||
+ | ==== Affichage ==== | ||
+ | Maintenant que nous avons calculé la position des sprites, nous allons pouvoir les afficher. | ||
+ | Nous avons crée l' | ||
+ | ==== Framerate ==== | ||
+ | Après avoir fait les calculs et avoir affiché l' | ||
+ | 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' | ||
+ | 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() | ||
+ | |||
+ | # | ||
+ | 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() |
ateliers/pygamelab/boucledejeu.1547895138.txt.gz · Dernière modification : 2019/01/19 11:52 de izawenn