« Pygame/Déplacer une image » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 121 :
== De la liste à l'écran ==
 
Utiliser le code que nous avons vu dans les exemples plus haut, et le faire fonctionner avec Pygame est très simple. :
# Nous supposons que nous avons chargé de jolies images et que nous les avons nommées : <tt>terrain1</tt>, <tt>terrain2</tt> et <tt>hero</tt>.
# Où nous avons assigné plus tôt des nombres à une liste, maintenant nous allons ''bliter'' des images à l'écran.
# Un autre grand changement, au lieu d'employer des positions en tant que simple index (de 0 à 5), nous aurons besoin de coordonnées à deux dimensions. Nous supposerons également que chaque image de notre jeu aura une largeur de 10 pixels donc avec des positions multiples de 10. Cela revient à multiplier les indices par 10 pour obtenir les coordonnées.
 
<source lang="python">
>>> background = [terrain1, terrain1, terrain2, terrain2, terrain2, terrain1]
>>> screen = create_graphics_screen() #Un nouvel écran vierge
>>> # Copie de l'arrière-plan sur l'écran
>>> for i in range(6):
... screen.blit(background[i], (i*10, 0))
>>> # Positionnement du héros sur l'écran
>>> playerpos = 3
>>> screen.blit(playerimage, (playerpos*10, 0))
</source>
 
Ce code devrait vous sembler très familier, et peut-être même plus encore : le code ci-dessus devrait prendre un peu de sens.
J'espère que mon illustration sur le paramétrage de valeurs simples dans une liste montre la similarité avec le paramétrage de pixels sur l'écran (avec blit).
La seule partie qui soit un travail supplémentaire est celle qui convertit la position du joueur en coordonnée sur l'écran.
Pour l'instant nous utilisons simplement <tt>(playerpos*10, 0)</tt>, mais nous pouvons certainement faire mieux que ça.

Maintenant déplaçons l'image du joueur dans un autre endroit.
Ce code ne devrait pas vous surprendre.
 
<source lang="python">
Ligne 140 ⟶ 151 :
</source>
 
Voila! Avec ce code, nous avons vu comment afficher un simple arrière-plan avec l'image du héros dessus.
Ensuite nous avons correctement déplacé le héros d'un espace vers la gauche.

Et qu'allons nous faire maintenant ?
Ce code est encore un peu maladroit.
La première chose que nous voudrions faire serait de trouver une manière plus propre de représenter l'arrière-plan et la position du joueur.
Et peut être de faire une vraie animation fluide.
 
== Coordonnées écran ==