Les objets de type Surface : Principe générale
Les objets de type Surface
correspondent à un ensemble rectangulaire de pixels sauvegardé en mémoire.
Créer un objet de type Surface
Création manuelle
import pygame
taille = (50, 30)
surface1 = pygame.Surface(taille)
Création à partir d'un texte
Voir le paragraphe dédié.
Création à partir d'un fichier image
Voir le paragraphe dédié.
Remplir une surface avec une couleur
Les surfaces disposent d'une méthode fill(couleur)
qui permet de les remplir d'une couleur passée en paramètre.
Remplissage la totalité de la surface
Exemple :
import pygame
pygame.init()
couleur_fond = (0, 255, 0)
surface_v = pygame.Surface((50,50))
# remplissage de la totalité de la surface surface_v
surface_v.fill(couleur_fond)
surface_fenetre = pygame.display.set_mode((300, 100))
pygame.display.set_caption("Surface verte")
surface_fenetre.blit(surface_v,(20,20))
pygame.display.flip()
pygame.time.wait(2000)
pygame.display.quit()

Remplissage seulement une zone rectangulaire de la surface
Exemple :
import pygame
pygame.init()
couleur1 = (50, 50, 50)
couleur2 = (255, 255, 255)
surface_fenetre = pygame.display.set_mode((300, 100))
# remplissage de la totalité de la surface liée à la fenêtre
surface_fenetre.fill(couleur1)
# remplissage de la moitié droite de la surface liée à la fenêtre
surface_fenetre.fill(couleur2, (150,0,150,100))
pygame.display.flip()
pygame.time.wait(2000)
pygame.display.quit()

Copier un objet de type Surface
dans un autre objet de type Surface
Une surface peut être copiée sur une autre surface à un emplacement choisi à l'aide de la méthode blit()
.
import pygame
surface_destination.blit(surface_a_copier, rect_destination)
Le paramètre rect_destination
peut être de type Rect ou simplement un tuple représentant les coordonnées du point en haut à gauche.
Récupérer les dimensions d'une surface
Il est possible de récupérer les dimensions d'un objet de type Surface.
Méthode
Description
surface1.get_width() -> int
surface1.get_height() -> int
surface1.get_size() -> tuple