Accueil🇫🇷Chercher

Pygame

Pygame est une bibliothèque libre multiplate-forme qui facilite le développement de jeux vidéo temps réel avec le langage de programmation Python.

Description

Elle est distribuée selon les termes de la licence GNU LGPL.

Construite sur la bibliothèque SDL, elle permet de programmer la partie multimédia (graphismes, son et entrées au clavier, à la souris ou au joystick), sans se heurter aux difficultés des langages de bas niveaux comme le C et ses dérivés. Cela se fonde sur la supposition que la partie multimédia, souvent la plus contraignante à programmer dans un tel jeu, est suffisamment indépendante de la logique même du jeu pour qu'on puisse utiliser un langage de haut niveau (en l'occurrence le Python) pour la structure du jeu.

Pygame, en plus d'adapter la SDL au Python, fournit également un petit nombre de fonctions spécifiques au développement de jeux.

On peut aussi remarquer que Pygame n'est plus utilisée exclusivement pour des jeux vidéo, mais également pour des applications diverses nécessitant du graphisme.

Fin 2020, Pygame atteint sa version 2.0 après 20 ans de développement[1].

Exemple

Par exemple, pour programmer un casse-briques, la SDL sera utilisée par l'intermédiaire de Pygame pour afficher les briques, la raquette et la balle. Ainsi, le programmeur pourra se concentrer sur les calculs des rebonds, des coordonnées de la balle et des destructions de briques. Des méthodes intégrées à PyGame permettront aussi de gérer les collisions entre les balles et les briques.

Code

# -*- coding: utf-8 -*-
import pygame
from pygame.locals import *
pygame.display.init()
ecran = pygame.display.set_mode((640, 480)) #Crée la fenêtre de tracé
image = pygame.image.load("./pomme.png") #charge une image Ă  partir d'un fichier
ecran.blit(image, (0,0)) #Colle l'image en haut à gauche de la fenêtre de tracé (ici, l'écran)
pygame.display.flip() #L'affichage devient effectif : l'image est rendue visible.
loop = True
while loop: #Boucle d'événements
	for event in pygame.event.get(): #parcours de la liste des événements
		if(event.type==pygame.QUIT or (event.type==pygame.KEYDOWN and event.key==pygame.K_ESCAPE)): #interrompt la boucle si nécessaire
			loop = False
pygame.quit()

Bibliographie

  • BenoĂ®t Prieur, Pygame - Initiez-vous au dĂ©veloppement de jeux vidĂ©o en Python (2e Ă©dition), Éditions ENI, , 265 p. (ISBN 978-2-409-03907-2)
  • BenoĂ®t Prieur, « Pygame : les principales notions Ă  connaĂ®tre pour dĂ©velopper vos jeux vidĂ©o en Python », Programmez!, no 235,‎ , p. 53-56 (ISSN 2729-5001, BNF 38522176)

Références

  1. (en) Tom Nardi, « PyGame Celebrates 20 Years By Releasing PyGame 2.0 », sur Hackaday, (consulté le )

Liens externes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.