Des lecteurs comme vous aident à soutenir MUO. Lorsque vous effectuez un achat en utilisant des liens sur notre site, nous pouvons gagner une commission d'affiliation. En savoir plus.

PyGame est une bibliothèque de développement de jeux puissante et populaire pour Python. Il fournit un ensemble d'outils et de fonctions qui facilitent la création de jeux et d'autres applications interactives. Une fonctionnalité utile de PyGame est sa capacité à dessiner des objets et des formes.

Le module pygame.draw

Dans PyGame, dessiner des objets et des formes est un processus simple. Vous pouvez utiliser le pygame.draw module pour dessiner des formes telles que des rectangles, des cercles, des lignes, etc.

Avant de commencer, assurez-vous d'avoir pip installé sur votre appareil, puis utilisez cette commande pour installer le PyGameName module:

pip installer pygame

Dessiner des formes de base

Le pygame.draw fournit plusieurs fonctions qui vous permettent de dessiner des formes de base. Chaque fonction prend un ensemble de paramètres pour définir la forme et sa position.

instagram viewer
  • rect(): Vous pouvez dessiner un rectangle en utilisant cette fonction. C'est l'une des formes les plus utilisées dans les jeux. Vous pouvez créer des plates-formes, des murs et d'autres objets avec des rectangles. La fonction prend quatre paramètres: surface (la surface sur laquelle dessiner le rectangle), color, rect (un objet Rect) et width (épaisseur de la ligne).
    pygame.draw.rect (surface, couleur, rect, largeur)
  • cercle(): Dessinez un cercle. Il prend quatre paramètres: surface, couleur, pos (le centre du cercle) et rayon.
    pygame.draw.circle (surface, couleur, position, rayon)
  • polygone(): dessine un polygone. Il prend quatre paramètres: surface, couleur, points (une liste de points qui définissent la forme du polygone) et largeur.
    pygame.draw.polygon (surface, couleur, points, largeur) 
  • doubler(): Tracer une ligne. Il prend quatre paramètres: surface, couleur, start_pos et end_pos.
    pygame.draw.line (surface, couleur, start_pos, end_pos) 

Vous pouvez trouver la liste complète des fonctions et leurs paramètres sur le site officiel Documentation PyGame pour le module draw.

Dessiner des formes complexes

En plus des formes de base, PyGame vous permet également de dessiner des formes complexes comme des arcs, des ellipses et des aalines.

  • arc(): Cette fonction dessine un arc sur une surface. Un arc est une portion de cercle. Il prend six paramètres: surface, color, rect, start_angle, end_angle et width. Spécifiez les angles en degrés, 0 degré pointant vers la droite et augmentant dans le sens des aiguilles d'une montre. Le paramètre largeur spécifie l'épaisseur de l'arc.
    pygame.draw.arc (surface, couleur, rect, start_angle, end_angle, largeur)
  • ellipse(): Dessine une ellipse sur une surface. Une ellipse est un cercle étiré. Il prend quatre paramètres: surface, color, rect et width.
    pygame.draw.ellipse (surface, couleur, rectangle, largeur)
  • aaline(): Utilisez pour tracer une seule ligne anti-crénelée sur une surface. L'anticrénelage est une technique utilisée pour lisser les bords d'une forme afin qu'elle paraisse plus naturelle. Il faut quatre paramètres qui reflètent le doubler() fonction: surface, couleur, start_pos et end_pos.
    pygame.draw.aaline (surface, couleur, start_pos, end_pos) 

Création de formes imbriquées dans PyGame

Une autre fonctionnalité intéressante de PyGame est la possibilité de dessiner des formes à l'intérieur d'une autre forme. Vous pouvez le faire en utilisant une combinaison des fonctions de base de dessin de forme dans PyGame.

Pour dessiner une forme à l'intérieur d'une autre forme, vous pouvez d'abord dessiner la forme intérieure, puis dessiner la forme extérieure par-dessus. La forme intérieure peut être n'importe quelle forme de base, telle qu'un rectangle ou un cercle.

Par exemple, pour dessiner un rectangle à l'intérieur d'un cercle, vous pouvez utiliser la pygame.draw.cercle() fonction pour dessiner le cercle, puis utilisez la pygame.draw.rect() fonction pour dessiner le rectangle dessus.

Vous pouvez trouver les exemples de code suivants dans ce dépôt GitHub.

Voici un exemple d'extrait de code qui montre comment dessiner un rectangle à l'intérieur d'un cercle :

importer pygame

# Initialiser pygame
pygame.init()

# Créer une fenêtre
fenêtre = pygame.display.set_mode((800, 600))

# Créer un cercle
circle_rect = pygame.draw.circle (fenêtre, (255, 255, 255), (400, 300), 100)

# Créer une surface pour le rectangle
rectangle_surface = pygame. Surface((50, 50))
rectangle_surface.set_colorkey((0, 0, 0))

# Dessinez le rectangle sur la surface
pygame.draw.rect (rectangle_surface, (255, 0, 0), (0, 0, 50, 50))

# Blit la surface sur le cercle
window.blit (rectangle_surface, (375, 275))

# Boucle principale
alors queVrai:
# Quitter le jeu
pour événement dans pygame.event.get() :
si événement.type == pygame. ARRÊTER:
pygame.quit()
sortie()

# Mettre à jour l'affichage
pygame.display.update()

Cela crée l'effet d'un rectangle à l'intérieur d'un cercle. Vous pouvez utiliser cette technique pour créer des formes et des éléments de jeu plus complexes en combinant plusieurs formes.

Dessiner des images

PyGame vous permet également de dessiner des images. Vous pouvez utiliser le pygame.image.load() fonction pour charger une image à partir d'un fichier et la pygame.image.blit() fonction de dessiner l'image sur l'écran.

La syntaxe de pygame.image.load() ressemble à ça:

pygame.image.load (nom de fichier) 

Et voici la syntaxe pour pygame.image.blit():

pygame.image.blit (image, rect) 

En plus de charger et de dessiner des images, PyGame fournit également plusieurs autres fonctions liées aux images. Ces fonctions vous permettent de manipuler les images de différentes manières, telles que la mise à l'échelle, la rotation, le retournement et le recadrage.

Ajout de fonctionnalités avancées

PyGame fournit également des fonctionnalités avancées pour dessiner des objets et des formes. Par exemple, vous pouvez utiliser le pygame.mouse.get_pos() fonction pour obtenir la position de la souris et la pygame.mouse.get_pressed() fonction pour obtenir l'état du bouton de la souris. Avec ces fonctions, vous pouvez créer une fonctionnalité cliquer pour dessiner qui vous permet de dessiner des formes en cliquant sur la souris.

importer pygame 

# Initialiser pygame
pygame.init()

# Créer une fenêtre
fenêtre = pygame.display.set_mode((800, 600))

# Boucle principale
alors queVrai:
# Obtenir la position de la souris
mouse_position = pygame.mouse.get_pos()

# Obtenir l'état du bouton de la souris
mouse_pressed = pygame.mouse.get_pressed()

# Quitter le jeu
pour événement dans pygame.event.get():
si événement.type == pygame. ARRÊTER:
pygame.quit()
sortie()

# Dessiner un cercle lorsque la souris est pressée
si mouse_pressed[0] == 1:
pygame.draw.circle (fenêtre, (255, 0, 0), position_souris, 20)

# Mettre à jour l'affichage
pygame.display.update()

Ci-dessous la sortie:

Créez facilement des sprites de jeu dans PyGame

PyGame fournit également un ensemble d'outils puissants pour créer facilement des sprites et des objets de jeu. Avec le pygame.draw module, vous pouvez facilement créer des sprites que vous pouvez utiliser dans vos jeux. Vous pouvez facilement créer des personnages, des objets et d'autres éléments de jeu.