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.
xva vers la droite : plusxest grand, plus tu vas à droite.yva vers le bas : plusyest grand, plus tu es bas sur l’écran.
É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.
Si tu écris :
star.y = star.y + 3tu 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 :
| Propriété | Signification |
|---|---|
actor.left | bord gauche de l’image |
actor.right | bord droit de l’image |
actor.top | bord supérieur de l’image |
actor.bottom | bord 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 / 2Les coins de l’écran
| Coin | x | y |
|---|---|---|
| En haut à gauche | 0 | 0 |
| En haut à droite | 600 | 0 |
| En bas à gauche | 0 | 400 |
| En bas à droite | 600 | 400 |
| Centre | 300 | 200 |
Pour aller plus loin : “Pixel Coordinates and Pygame Objects” par albro