Coordonnées dans Pygame Zero

Pixels

Un écran est une grille de petits points colorés : les pixels. Notre fenêtre de jeu fait 600 pixels de large et 400 pixels de haut : 240 000 pixels en tout.

Chaque pixel a une adresse : (x, y). Comme ça, Pygame Zero sait exactement où dessiner quelque chose.

Où se trouve (0, 0) ?

Dans les graphiques en maths, le point zéro (0, 0) est en bas à gauche. Dans Pygame Zero, (0, 0) est en haut à gauche.

  • x va vers la droite : plus x est grand, plus tu vas à droite.
  • y va vers le bas : plus y est grand, plus tu es bas sur l’écran.

MathsPygame Zero

(0, 0)xyy ↑ (vers le haut)(0, 0)xyy ↓ vers le bas !

Étoile et panier

Dans Catch the Stars, l’étoile commence à (300, 30) : au milieu horizontalement (x = 300 = la moitié de 600), tout en haut (y = 30). Le panier est à (300, 370) : aussi au milieu, presque tout en bas.

Écran Pygame Zero avec l'étoile et le panier indiqués

Si tu écris :

star.y = star.y + 3

tu déplaces l’étoile de 3 pixels vers le bas par frame, parce qu’une plus grande valeur de y veut dire plus bas sur l’écran.

Position d’un Actor

actor.pos est le point central de l’image, pas le coin. Tu peux aussi demander les bords :

★

actor.posactor.topactor.bottomactor.leftactor.right
PropriétéSignification
actor.leftbord gauche de l’image
actor.rightbord droit de l’image
actor.topbord supérieur de l’image
actor.bottombord inférieur de l’image

Voilà comment tu vérifies si le panier sort de l’écran :

if basket.right > WIDTH:
    basket.x = WIDTH - basket.width / 2

Les coins de l’écran

Coinxy
En haut à gauche00
En haut à droite6000
En bas à gauche0400
En bas à droite600400
Centre300200

Pour aller plus loin : “Pixel Coordinates and Pygame Objects” par albro