« Pygame/Déplacer une image » : différence entre les versions
Contenu supprimé Contenu ajouté
m Formatage, ajout de code |
|||
Ligne 11 :
== De simples pixels sur l'écran ==
Pygame possède une Surface d'affichage. C'est typiquement l'image visible à l'écran, et cette image est constituée de pixels. La principale façon de modifier ces pixels est d'appeler la fonction <
C'est la première chose à comprendre. En appelant la fonction <
Avec cette brève description, peut-être pouvez-vous déjà comprendre ce que nécessite l'animation d'une image. En réalité, nous ne déplaçons rien. Nous faisons simplement un ''blit'' de l'image dans une nouvelle position. Mais avant de dessiner l'image dans une nouvelle position, il faut effacer l'ancienne. Autrement, l'image serait visible à deux places sur l'écran. En effaçant rapidement l'image et en la redessinant à un nouvel endroit, nous réalisons ''l'illusion'' du mouvement.
Ligne 52 :
</source>
Maintenant il est assez facile de le déplacer vers une nouvelle position. Changeons simplement la valeur de <
<source lang="python">
Ligne 122 :
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 : <
# 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.
Ligne 140 :
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 <
Maintenant déplaçons l'image du joueur dans un autre endroit.
Ligne 161 :
== Coordonnées écran ==
Pour positionner un objet sur l'écran, nous avons besoin de la fonction <
Pygame possède un conteneur intéressant, l'objet <
Ensuite sachez que beaucoup de fonctions de Pygame utilisent les attributs des objets <
== Changer l'arrière-plan ==
Ligne 171 :
Dans toutes nos sections précédentes, nous avons stocké l'arrière-plan comme étant une liste de différents types de sol. C'est une bonne manière de créer un jeu basé sur des cases, mais nous voulons faire un défilement (''scrolling'' en anglais) fluide. Pour faire simple, nous commencerons par modifier l'arrière-plan en une simple image qui couvre entièrement l'écran. De cette façon, quand nous voudrons effacer nos objets (avant de les redessiner) nous aurons simplement besoin de bliter la section effacée de l'arrière-plan dans l'écran.
En passant un troisième argument optionnel à la fonction <
Notez également, que lorsque nous aurons fini de tout dessiner, nous invoquerons la fonction <
== Mouvement fluide ==
Ligne 197 :
Et voilà. Ceci correspond au code nécessaire pour animer de façon fluide un objet à travers l'écran. Nous pouvons aussi utiliser un joli personnage d'arrière-plan. Un autre avantage sur cette façon de procéder, est que l'image du joueur peut inclure de la transparence ou être découpée en section, elle sera toujours dessinée correctement sur l'arrière-plan.
Nous avons aussi fait appel à la fonction <
== Et ensuite ? ==
Si tout va bien, cet article a fait tout ce qu'il avait promis de faire. Mais à ce stade, le code n'est pas encore prêt pour réaliser le prochain jeu le plus vendu. Comment faire pour obtenir simplement de multiple déplacements d'objets ? Que sont réellement ces mystérieuses fonctions comme <
== Les fonctions mystères ==
Des informations complètes sur ces types de fonctions peuvent être trouvées dans d'autres tutoriaux et références. Le module <
<source lang="python">
Ligne 212 :
</source>
Nous pouvons voir la simplicité de l'exemple, la fonction de chargement demande seulement un nom de fichier et retourne une nouvelle surface avec l'image chargée. Après le chargement, nous faisons appel à la méthode de Surface : <
Vous avez certainement dû remarquer que les deux fonctions, <
Cette autre fonction mystérieuse que nous avons vue dans l'exemple précédent était <
<source lang="python">
Ligne 252 :
</source>
Nous avons donc deux fonctions dans notre classe. La méthode <
== Positionner le tout ==
Ligne 284 :
== Les mots de la fin ==
Alors quelle sera la prochaine étape sur la route de votre apprentissage ? D'abord, jouer un peu avec cet exemple. La version complète de cet exemple est disponible dans le répertoire <
Il y a plusieurs choses que vous pouvez faire avec, comme utiliser plus d'un type d'objet. Trouvez une façon pour supprimer proprement les objets quand vous ne désirez plus les afficher. Pour faire une mise à jour, utilisez la méthode <
Il existe beaucoup d'autres tutoriaux et exemples pour Pygame qui peuvent vous aider en toutes circonstances. Alors maintenant, pour retenir en apprenant, retenez en lisant. : ^)
|