Les objets de type Rect

Présentation

La classe Rect permet de créer et de manipuler des zones réctangulaires.

Les instances de la classe Rect sont entre autre utilisées pour le positionnement des objets de type Surfaces.

➤ Lien vers la documentation officielle (anglais) : pygame.Rect

Créer un objet de type Rect

Création manuelle d'un Rect

import pygame
zone_rect1 = pygame.Rect(left, top, width, height)
zone_rect2 = pygame.Rect((left, top), (width, height))

Création d'un Rect à partir d'un objet Surface

import pygame
surface1 = ...
surface1_rect = Rect(surface1)
import pygame
surface1 = ...
surface1_rect = surface1.get_rect()

Quelques attributs des objets de type Rect

Toutes les grandeurs ci-dessous sont accessibles en lecture comme en écriture.

Attribut
Valeur renvoyée (-> int)
x, y
top, left, bottom, right
centerx, centery
width, height
w, h
Attribut
Valeur renvoyée (-> tuple)
topleft, bottomleft, topright, bottomright
Coordonnées des angles
midtop, midleft, midbottom, midright
Coordonnées des centres des côtés
center
Coordonnées du centre de la zone
size
Tuple contenant la taille (largeur, hauteur) de la zone

Quelques méthodes pour transformer les objets de type Rect

Méthode
Description
zone_rect.copy() -> Rect
Renvoie une copie de zone_rect
zone_rect.move(dx, dy) -> Rect
Renvoie un nouveau Rect déplacé horizontalement de dx et verticalement de dy par rapport à zone_rect
zone_rect.clip(zone_rect_param) -> Rect
Renvoie un nouveau Rect correspondant à la zone rectangulaire de zone_rect qui est à l'intérieur de zone_rect_param. Si les deux rectangle ne se recouvrent pas, la méthode renvoie un Rect de taille (0, 0)
zone_rect.colliderect(zone_rect_param) -> bool
Renvoie True si une portion quelconque de zone_rect chevauche zone_rect_param.
collidelist(List de Rect)
...