# pyg0010_bases.py # Référence : https://openclassrooms.com/courses/interface-graphique-pygame-pour-python/premieres-fenetres # Premier essais avec Pygame en Python 3 # Gestion d'événements : # https://openclassrooms.com/courses/interface-graphique-pygame-pour-python/gestion-des-evenements-1 ''' Liste des modules de Pygame : display mixer # pour la gestion du son draw event image mouse time ''' import pygame from pygame.locals import * # Initialisation des modules de Pygame pygame.init() # Création d'une fenêtre graphique de Pygame ##fenetre = pygame.display.set_mode((640, 480)) # Permet de rendre la fenêtre de taille ajustable. fenetre = pygame.display.set_mode((640,480), RESIZABLE) # Une image pour le fond de la fenêtre fond = pygame.image.load("images/background_herbe.jpg").convert() perso1 = pygame.image.load("images/perso_1.png").convert_alpha() # Ne fonctionne pas !??? perso1.set_colorkey((255,255,255)) #Rend le blanc (valeur RGB : 255,255,255) de l'image transparent # Affiche l'image dans la fenêtre fenetre.blit(fond, (0, 0)) # Affiche le personnage au-dessus de l'herbe fenetre.blit(perso1, (200, 200)) # Actualise la fenêtre pygame.display.flip() nPosX = 200 # Position en X de la personne nPosY = 200 # Position en Y de la personne pygame.key.set_repeat(400, 30) # Variable qui continue la boucle si = 1, stoppe si = 0 continuer = 1 # ================================================ # Boucle principale while continuer: # Boucle sur tous les événements gérés par Pygame for event in pygame.event.get(): if event.type == QUIT or event.type == KEYDOWN and event.key == K_ESCAPE: # La fenêtre a été fermée ou La touche ESC a été pressée. continuer = 0 # Indique de sortir de la boucle. if event.type == KEYDOWN: # KEYUP existe aussi if event.key == K_RIGHT: nPosX += 20 if event.key == K_LEFT: nPosX -= 20 if event.key == K_UP: nPosY -= 20 if event.key == K_DOWN: nPosY += 20 fenetre.blit(fond, (0, 0)) fenetre.blit(perso1, (nPosX, nPosY)) # Actualise la fenêtre pygame.display.flip() pygame.display.quit() # ferme la fenêtre, c.f. https://www.pygame.org/docs/ref/display.html pygame.quit() # quitte pygame, c.f. https://www.pygame.org/docs/ref/pygame.html
# pyg0020_bases_mouvements.py # Référence : https://openclassrooms.com/courses/interface-graphique-pygame-pour-python/premieres-fenetres # Premier essais avec Pygame en Python 3 # Gestion d'événements : # https://openclassrooms.com/courses/interface-graphique-pygame-pour-python/gestion-des-evenements-1 # TP-DK Labyrinthe ! # https://openclassrooms.com/courses/interface-graphique-pygame-pour-python/tp-dk-labyrinthe ''' Liste des modules de Pygame : display mixer # pour la gestion du son draw event image mouse time ''' import pygame from pygame.locals import * import os # Pour positionner la fenêtre Pygame. #os.environ['SDL_VIDEO_WINDOW_POS'] = '20,100' os.environ['SDL_VIDEO_WINDOW_POS'] = '%d,%d' % (120, 200) # Information sur le display # https://www.pygame.org/docs/ref/display.html # Initialisation des modules de Pygame pygame.init() # Création d'une fenêtre graphique de Pygame ##fenetre = pygame.display.set_mode((640, 480)) # Permet de rendre la fenêtre de taille ajustable. fenetre = pygame.display.set_mode((640,480), RESIZABLE) # Une image pour le fond de la fenêtre fond = pygame.image.load("images/background_herbe.jpg").convert() perso1 = pygame.image.load("images/perso_1.png").convert_alpha() # Ne fonctionne pas !??? perso1.set_colorkey((255,255,255)) #Rend le blanc (valeur RGB : 255,255,255) de l'image transparent # Affiche l'image dans la fenêtre fenetre.blit(fond, (0, 0)) # Affiche le personnage au-dessus de l'herbe fenetre.blit(perso1, (200, 200)) # Actualise la fenêtre pygame.display.flip() nPosX = 200 # Position en X de la personne nPosY = 200 # Position en Y de la personne # Pour avoir un autorepeat si une touche est pressée. pygame.key.set_repeat(10, 3) # répétition de la touche toutes les ... [ms] # Variable qui continue la boucle si = 1, stoppe si = 0 continuer = 1 # ================================================ # Boucle principale while continuer: # Boucle sur tous les événements gérés par Pygame for event in pygame.event.get(): if event.type == QUIT or event.type == KEYDOWN and event.key == K_ESCAPE: # La fenêtre a été fermée ou La touche ESC a été pressée. continuer = 0 # Indique de sortir de la boucle. if event.type == KEYDOWN: # KEYUP existe aussi # Change les coordonnées de la position de la personne if event.key == K_RIGHT: nPosX += 1 if event.key == K_LEFT: nPosX -= 1 if event.key == K_UP: nPosY -= 1 if event.key == K_DOWN: nPosY += 1 # Affiche le fond, puis la personne par-dessus fenetre.blit(fond, (0, 0)) fenetre.blit(perso1, (nPosX, nPosY)) # Actualise la fenêtre pygame.display.flip() if event.type == MOUSEBUTTONDOWN: # Un bouton de la souris pressé if event.button == 1: # Boutton gauche pressé # Change les coordonnées de la position de la personne nPosX = event.pos[0] # Coordonnées du pointeur de souris nPosY = event.pos[1] if event.button == 3: # Boutton droit pressé # Change les coordonnées de la position de la personne nPosX = event.pos[0] - perso1.get_width() nPosY = event.pos[1] - perso1.get_height() # Affiche le fond, puis la personne par-dessus fenetre.blit(fond, (0, 0)) fenetre.blit(perso1, (nPosX, nPosY)) # Actualise la fenêtre pygame.display.flip() if event.type == MOUSEMOTION: # La souris a bougé if event.buttons[0] == 1: # Boutton gauche pressé # Change les coordonnées de la position de la personne nPosX = event.pos[0] # Coordonnées du pointeur de souris nPosY = event.pos[1] ##if event.buttons[1] == 1: # Boutton du milieu pressé if event.buttons[2] == 1: # Boutton du milieu pressé # Change les coordonnées de la position de la personne nPosX = event.pos[0] - perso1.get_width() nPosY = event.pos[1] - perso1.get_height() # Affiche le fond, puis la personne par-dessus fenetre.blit(fond, (0, 0)) fenetre.blit(perso1, (nPosX, nPosY)) # Actualise la fenêtre pygame.display.flip() pygame.display.quit() # ferme la fenêtre, c.f. https://www.pygame.org/docs/ref/display.html pygame.quit() # quitte pygame, c.f. https://www.pygame.org/docs/ref/pygame.html
# pyg0027_bases_mouvements.py # Référence : https://openclassrooms.com/courses/interface-graphique-pygame-pour-python/premieres-fenetres # Premier essais avec Pygame en Python 3 # Gestion d'événements : # https://openclassrooms.com/courses/interface-graphique-pygame-pour-python/gestion-des-evenements-1 # TP-DK Labyrinthe ! # https://openclassrooms.com/courses/interface-graphique-pygame-pour-python/tp-dk-labyrinthe # # Lancement de projectiles. # Dans pyg0022_bases_mouvements.py, il est presque impossible de lancer un seul projectle à la fois. # Ici, on gère cela en testant que la touche espace K_SPACE a été relachée avant de relancer un projectil. # Dans pyg0023_bases_mouvements.py, lorsque l'on presse sur la touche espace, le personnage s'arrête. # Ici, il s'arrête si on arrête de presser sur les flèches. # Dans pyg0024_bases_mouvements.py, l'ensemble des projectiles est géré par un tableau. # Dans pyg0025.py, un projectile est un objet. Une fois créé, le reste du programme l'ignore, # c'est l'objet lui-même qui gère son déplacement et sa destruction finale. # Cela pause des problèmes d'affichage, ainsi que de gestion en fin de partie. # Les problèmes de gestion de fin de partie peuvent se régler à l'aide d'un compteur. # Les objets sont référencés dans une liste. ''' Liste des modules de Pygame : display mixer # pour la gestion du son draw event image mouse time ''' import pygame from pygame.locals import * import os # ===== Variables globales ====================== # Variable qui continue la boucle si = 1, stoppe si = 0 continuer = 1 nPosX = 200 # Position en X du personnage nPosY = 200 # Position en Y du personnage nDirX = 0 # Sens de déplacement du personnage selon X. 0 => il ne bougle pas nDirY = 0 # Sens de déplacement du personnage selon Y. 0 => il ne bougle pas fLanceOK = True # Indique que l'on peut lancer un projectile glaProjectiles = [] # Le tableau des projectiles glnCount = 0 # Juste pour compter le nombre de projectiles créés. class Projectile: ################# '''Classe des projectiles, pour les rendre autonomes''' def __init__(self, nPosX, nPosY): #"""""""""""""""""""""""""""""""" global glnCount glnCount += 1 self.nCount = glnCount # Indique le numéro du projectile self.nProjPosX = nPosX self.nProjPosY = nPosY def mouvement(self): #""""""""""""""""""" # Monte le projectile de .. pixels self.nProjPosY -= 1.8 fenetre.blit(projectile, (self.nProjPosX, self.nProjPosY)) # Si le projectile a atteint le haut de l'écarn, il est détruit if (self.nProjPosY < -20): # Destruction de l'objet projectile print('Fin de', self.nCount) glaProjectiles.remove(self) # Pour positionner la fenêtre Pygame. #os.environ['SDL_VIDEO_WINDOW_POS'] = '20,100' os.environ['SDL_VIDEO_WINDOW_POS'] = '%d,%d' % (120, 200) # Information sur le display # https://www.pygame.org/docs/ref/display.html # Initialisation des modules de Pygame pygame.init() # Création d'une fenêtre graphique de Pygame ##fenetre = pygame.display.set_mode((640, 480)) # Permet de rendre la fenêtre de taille ajustable. fenetre = pygame.display.set_mode((640,480), RESIZABLE) # Une image pour le fond de la fenêtre fond = pygame.image.load("images/background_herbe.jpg").convert() perso1 = pygame.image.load("images/perso_1.png").convert_alpha() projectile = pygame.image.load("images/BouleBleue.png").convert_alpha() # Ne fonctionne pas !??? perso1.set_colorkey((255,255,255)) #Rend le blanc (valeur RGB : 255,255,255) de l'image transparent # Affiche l'image dans la fenêtre fenetre.blit(fond, (0, 0)) # Affiche le personnage au-dessus de l'herbe fenetre.blit(perso1, (200, 200)) # Actualise la fenêtre pygame.display.flip() # Pour avoir un autorepeat si une touche est pressée. pygame.key.set_repeat(10, 3) # répétition de la touche toutes les ... [ms] # Pour définir une vitesse d'exécution, # en limitant en attendant qu'un certain temps se soit écoulé avant de continuer. myClock = pygame.time.Clock() # ================================================ # Boucle principale while continuer: # Boucle sur tous les événements gérés par Pygame for event in pygame.event.get(): if event.type == QUIT or event.type == KEYDOWN and event.key == K_ESCAPE: # La fenêtre a été fermée ou La touche ESC a été pressée. continuer = 0 # Indique de sortir de la boucle. if event.type == KEYDOWN: # KEYUP existe aussi # Change les coordonnées de la position de la personne if event.key == K_RIGHT: nDirX = 4 if event.key == K_LEFT: nDirX = -4 if event.key == K_UP: nDirY = -4 if event.key == K_DOWN: nDirY = 4 if (event.key == K_SPACE) and fLanceOK: fLanceOK = False # pour ne pas permettre de lancer plusieurs projecties en même temps # Adjonction d'un projectile à la liste des projectiles glaProjectiles.append(Projectile(nPosX + 20, nPosY)) if event.type == KEYUP: # pour ne pas permettre de lancer plusieurs projectiles en même temps if event.key == K_RIGHT: nDirX = 0 if event.key == K_LEFT: nDirX = 0 if event.key == K_UP: nDirY = 0 if event.key == K_DOWN: nDirY = 0 if (event.key == K_SPACE): fLanceOK = True if event.type == MOUSEBUTTONDOWN: # Un bouton de la souris pressé if event.button == 1: # Boutton gauche pressé # Change les coordonnées de la position de la personne nPosX = event.pos[0] # Coordonnées du pointeur de souris nPosY = event.pos[1] pixColor = fenetre.get_at((nPosX, nPosY)) # détection de la couleur à l'endroit indiqué print("Couleur =", pixColor) # c.f. http://www.pygame.org/docs/ref/surface.html#Surface.get_at if event.button == 3: # Boutton droit pressé # Change les coordonnées de la position de la personne nPosX = event.pos[0] - perso1.get_width() nPosY = event.pos[1] - perso1.get_height() # Actualise la fenêtre pygame.display.flip() if event.type == MOUSEMOTION: # La souris a bougé if event.buttons[0] == 1: # Boutton gauche pressé # Change les coordonnées de la position de la personne nPosX = event.pos[0] # Coordonnées du pointeur de souris nPosY = event.pos[1] ##if event.buttons[1] == 1: # Boutton du milieu pressé if event.buttons[2] == 1: # Boutton du milieu pressé # Change les coordonnées de la position de la personne nPosX = event.pos[0] - perso1.get_width() nPosY = event.pos[1] - perso1.get_height() # Actualise la fenêtre pygame.display.flip() # Déplacement du personnage nPosX += nDirX nPosY += nDirY # Affiche le fond fenetre.blit(fond, (0, 0)) # pour laisser les autres objets se dessiner par dessus le fond # Affiche la personne (par dessus le fond) fenetre.blit(perso1, (nPosX, nPosY)) # Déplacement de tous les projectiles # Affiche les projectiles par dessus ce qui prédèce # Il faut parcourir la liste depuis la fin, car len(glaProjectiles) peut changer dans la boucle. i = len(glaProjectiles) while i > 0: i -= 1 glaProjectiles[i].mouvement() # Actualise la fenêtre pygame.display.flip() # Limitation de la vitesse à ... images par seconde # 100 => attend que 1000 / 100 [ms] se soit écoulé depuis le dernier appel, # avant de continuer. # 100 => limite à 100 images par secondes, soit 100 exécutions de la boucle par seconde myClock.tick(100) # c.f. https://www.pygame.org/docs/ref/time.html#pygame.time.Clock.tick pygame.display.quit() # ferme la fenêtre, c.f. https://www.pygame.org/docs/ref/display.html pygame.quit() # quitte pygame, c.f. https://www.pygame.org/docs/ref/pygame.html
# pyg0024b_bases_mouvements.py # Référence : https://openclassrooms.com/courses/interface-graphique-pygame-pour-python/premieres-fenetres # Premier essais avec Pygame en Python 3 # Gestion d'événements : # https://openclassrooms.com/courses/interface-graphique-pygame-pour-python/gestion-des-evenements-1 # TP-DK Labyrinthe ! # https://openclassrooms.com/courses/interface-graphique-pygame-pour-python/tp-dk-labyrinthe # # Lancement de projectiles. # Dans pyg0022_bases_mouvements.py, il est presque impossible de lancer un seul projectle à la fois. # Ici, on gère cela en testant que la touche espace K_SPACE a été relachée avant de relancer un projectil. # Dans pyg0023_bases_mouvements.py, lorsque l'on presse sur la touche espace, le personnage s'arrête. # Ici, il s'arrête si on arrête de presser sur les flèches. # # Développement à partir de pyg0024, en ajoutant des ROTATIONs d'IMAGES. ''' Liste des modules de Pygame : display mixer # pour la gestion du son draw event image mouse time ''' import pygame from pygame.locals import * import os #from threading import Timer # pour lancer un Timer # ===== Variables globales ====================== # Variable qui continue la boucle si = 1, stoppe si = 0 continuer = 1 nPosX = 200 # Position en X du personnage nPosY = 200 # Position en Y du personnage nDirX = 0 # Sens de déplacement du personnage selon X. 0 => il ne bougle pas nDirY = 0 # Sens de déplacement du personnage selon Y. 0 => il ne bougle pas # Tableau de 20 projectiles nbProj = 20 # Nombre max de projectiles anProjPosX = 20*[200] # positions des projectiles anProjPosY = 20*[400] afProjVisible = 20*[False] fLanceOK = True # Indique que l'on peut lancer un projectile def rot_center(image, angle): """rotate an image while keeping its center and size""" rot_rect = image.get_rect().copy() # Copie du rectange d'origine de l'image rot_image = pygame.transform.rotate(image, angle) # Rotation de l'image rot_rect.center = rot_image.get_rect().center # défini le centre du rectangle rot_image = rot_image.subsurface(rot_rect).copy() # limite l'image tournée au rectangle d'origine return rot_image # Pour positionner la fenêtre Pygame. #os.environ['SDL_VIDEO_WINDOW_POS'] = '20,100' os.environ['SDL_VIDEO_WINDOW_POS'] = '%d,%d' % (120, 200) # Information sur le display # https://www.pygame.org/docs/ref/display.html # Initialisation des modules de Pygame pygame.init() # Création d'une fenêtre graphique de Pygame ##fenetre = pygame.display.set_mode((640, 480)) # Permet de rendre la fenêtre de taille ajustable. fenetre = pygame.display.set_mode((640,480), RESIZABLE) # Une image pour le fond de la fenêtre fond = pygame.image.load("images/background_herbe.jpg").convert() perso1 = pygame.image.load("images/perso_1.png").convert_alpha() projectile = pygame.image.load("images/BouleBleue_dir.png").convert_alpha() # Ne fonctionne pas !??? perso1.set_colorkey((255,255,255)) #Rend le blanc (valeur RGB : 255,255,255) de l'image transparent # Rotation de l'image #projectile = pygame.transform.rotate(projectile, 50) # Affiche l'image dans la fenêtre fenetre.blit(fond, (0, 0)) # Affiche le personnage au-dessus de l'herbe fenetre.blit(perso1, (200, 200)) # Actualise la fenêtre pygame.display.flip() # Pour avoir un autorepeat si une touche est pressée. pygame.key.set_repeat(10, 3) # répétition de la touche toutes les ... [ms] # Pour définir une vitesse d'exécution, # en limitant en attendant qu'un certain temps se soit écoulé avant de continuer. myClock = pygame.time.Clock() # ================================================ # Boucle principale while continuer: # Boucle sur tous les événements gérés par Pygame for event in pygame.event.get(): if event.type == QUIT or event.type == KEYDOWN and event.key == K_ESCAPE: # La fenêtre a été fermée ou La touche ESC a été pressée. continuer = 0 # Indique de sortir de la boucle. if event.type == KEYDOWN: # KEYUP existe aussi # Change les coordonnées de la position de la personne if event.key == K_RIGHT: nDirX = 1 if event.key == K_LEFT: nDirX = -1 if event.key == K_UP: nDirY = -1 if event.key == K_DOWN: nDirY = 1 if (event.key == K_SPACE) and fLanceOK: fLanceOK = False # pour ne pas permettre de lancer plusieurs projecties en même temps # Cherche un projectile libre dans la liste, pour le rendre visible for nn in range(nbProj): if (not afProjVisible[nn]): # Un projectile libre disponible, lance-le afProjVisible[nn] = True anProjPosX[nn] = nPosX + 20 anProjPosY[nn] = nPosY break # sort de la boucle if event.type == KEYUP: # pour ne pas permettre de lancer plusieurs projectiles en même temps if event.key == K_RIGHT: nDirX = 0 if event.key == K_LEFT: nDirX = 0 if event.key == K_UP: nDirY = 0 if event.key == K_DOWN: nDirY = 0 if (event.key == K_SPACE): fLanceOK = True if event.type == MOUSEBUTTONDOWN: # Un bouton de la souris pressé if event.button == 1: # Boutton gauche pressé # Change les coordonnées de la position de la personne nPosX = event.pos[0] # Coordonnées du pointeur de souris nPosY = event.pos[1] if event.button == 3: # Boutton droit pressé # Change les coordonnées de la position de la personne nPosX = event.pos[0] - perso1.get_width() nPosY = event.pos[1] - perso1.get_height() # Actualise la fenêtre pygame.display.flip() if event.type == MOUSEMOTION: # La souris a bougé if event.buttons[0] == 1: # Boutton gauche pressé # Change les coordonnées de la position de la personne nPosX = event.pos[0] # Coordonnées du pointeur de souris nPosY = event.pos[1] ##if event.buttons[1] == 1: # Boutton du milieu pressé if event.buttons[2] == 1: # Boutton du milieu pressé # Change les coordonnées de la position de la personne nPosX = event.pos[0] - perso1.get_width() nPosY = event.pos[1] - perso1.get_height() # Actualise la fenêtre pygame.display.flip() # Déplacement du personnage nPosX += nDirX nPosY += nDirY # Affiche le fond, puis la personne par-dessus fenetre.blit(fond, (0, 0)) fenetre.blit(perso1, (nPosX, nPosY)) # Traitement des projectiles, pour les faire bouger. for nn in range(nbProj): if (afProjVisible[nn]): # Un projectile visible, fait-le avancer anProjPosY[nn] -= 1 # Tourne l'image d'origine, pour l'affiche projectile_rot = rot_center(projectile, anProjPosY[nn]) fenetre.blit(projectile_rot, (anProjPosX[nn], anProjPosY[nn])) # Si le projectile a atteint le haut de l'écarn, # il est rendu invisible et disponible pour une autre fois if (anProjPosY[nn] < -2): afProjVisible[nn] = False; # Actualise la fenêtre pygame.display.flip() # Limitation de la vitesse à ... images par seconde # 100 => attend que 1000 / 100 [ms] se soit écoulé depuis le dernier appel, # avant de continuer. # 100 => limite à 100 images par secondes, soit 100 exécutions de la boucle par seconde myClock.tick(200) # c.f. https://www.pygame.org/docs/ref/time.html#pygame.time.Clock.tick pygame.display.quit() # ferme la fenêtre, c.f. https://www.pygame.org/docs/ref/display.html pygame.quit() # quitte pygame, c.f. https://www.pygame.org/docs/ref/pygame.html
# pyg0110_ping_pong.py ''' Programmation d'un jeu simple de ping-png, début C.f. la fin de la page : https://www.pygame.org/docs/tut/PygameIntro.html Elle donne une liste de modules faisant partie de Pygame. ''' import pygame from pygame.locals import * import os # Pour positionner la fenêtre Pygame. os.environ['SDL_VIDEO_WINDOW_POS'] = '%d,%d' % (120, 200) # Initialisation des modules de Pygame pygame.init() # Permet de rendre la fenêtre de taille ajustable. fenetre = pygame.display.set_mode((640,480), RESIZABLE) # Une image pour le fond de la fenêtre fond = pygame.image.load("images/background_herbe.jpg").convert() perso1 = pygame.image.load("images/perso_1.png").convert_alpha() # Redimensionne la taille de l'image # C.f. https://www.pygame.org/docs/ref/transform.html perso1 = pygame.transform.scale(perso1, (40,40)) # Affiche l'image dans la fenêtre fenetre.blit(fond, (0, 0)) # Affiche le personnage au-dessus de l'herbe fenetre.blit(perso1, (200, 200)) # Actualise la fenêtre pygame.display.flip() PosX = 200 # Position en X de la perso1 PosY = 210 # Position en Y de la perso1 DirX = 2 # Direction X de déplacement de perso1 DirY = 1.77 # Direction Y de déplacement de perso1 # Pour avoir un autorepeat si une touche est pressée. pygame.key.set_repeat(10, 3) # répétition de la touche toutes les ... [ms] # Pour définir une vitesse d'exécution, # en limitant en attendant qu'un certain temps se soit écoulé avant de continuer. myClock = pygame.time.Clock() # Variable qui continue la boucle si = 1, stoppe si = 0 continuer = 1 # ================================================ # Boucle principale while continuer: # Boucle sur tous les événements gérés par Pygame for event in pygame.event.get(): if event.type == QUIT or event.type == KEYDOWN and event.key == K_ESCAPE: # La fenêtre a été fermée ou La touche ESC a été pressée. continuer = 0 # Indique de sortir de la boucle. # Affiche le fond fenetre.blit(fond, (0, 0)) # Affiche l'image de perso1 fenetre.blit(perso1, (PosX, PosY)) # Mouvement automatique de perso1 PosX = PosX + DirX PosY = PosY + DirY if (PosX > 600): DirX = -DirX # Accélère le mouvement de perso1 DirX -= 0.2 if (PosX < 10): # Rebondi sur la paroi de gauche DirX = -DirX # Accélère le mouvement de perso1 DirX += 0.2 if (PosY < 1): # Rebondi sur la paroi du haut DirY = -DirY if (PosY > 450): # Rebondi sur la paroi du bas DirY = -DirY # Actualise la fenêtre pygame.display.flip() # Limitation de la vitesse à ... images par seconde # 120 => attend que 1000 / 120 [ms] se soit écoulé depuis le dernier appel, # avant de continuer. # 120 => limite à 120 images par secondes, soit 20 exécutions de la boucle par seconde myClock.tick(120) # c.f. https://www.pygame.org/docs/ref/time.html#pygame.time.Clock.tick pygame.display.quit() # ferme la fenêtre, c.f. https://www.pygame.org/docs/ref/display.html pygame.quit() # quitte pygame, c.f. https://www.pygame.org/docs/ref/pygame.html
Plan du Site :
Home
Python
pygame_code.html
( = http://www.juggling.ch/gisin/python/pygame_code.html )
Page mise à jour le 10 juin 2019 par Bernard Gisin
( Envoyer un e-mail )
Hébergement par : www.infomaniak.ch