« Pygame/Chimp - Ligne par ligne » : différence entre les versions

Contenu supprimé Contenu ajouté
correction faute de frappe (plus de matière à analyse vers analyseR dans l'introduction)
Ligne 113 :
</source>
 
Ici nous créons une classe pour représenter le poing du joueur. EllesElle est dérivée de la classe Sprite inclue dans le module <tt>pygame.sprite</tt>. La méthode <tt>__init__()</tt> est appelée lorsqu'une nouvelle instance de cette classe est créée. La première chose que nous faisons est de s'assurer d'appeler la méthode <tt>__init__()</tt> de notre classe de base. Ceci autorise la méthode <tt>__init__()</tt> de Sprite à préparer notre objet pour l'utiliser comme un sprite. Ce jeu utilise un des groupes de classes de dessin de sprite. Ces classes peuvent dessiner des sprites qui possèdent un attribut <tt>image</tt> et <tt>rect</tt>. En changeant tout simplement ces deux attributs, le moteur de rendu dessinera les images actuelles à leur position actuelle.
 
Tous les sprites possède une méthode <tt>update()</tt>. Cette méthode est généralement appelée une fois par image. C'est le lieu où vous pouvez mettre le code qui déplace et actualise les variables de chaque sprite. La méthode <tt>update()</tt> pour le poing déplace ce poing vers l'endroit où pointe la souris. Elle compense légèrement la position du poing si celui est en état de ''frappe''.
Ligne 177 :
La méthode <tt>_spin()</tt> est appelée quand le singe est ''étourdi'' (<tt>dizzy</tt>). L'attribut <tt>dizzy</tt> est utilisé pour enregistrer le nombre de rotation actuel. Quand le singe a entièrement tournoyé sur lui-même (360 degrés), il réinitialise l'image du singe à sa version droite originale. Avant d'appeler la fonction <tt>transform.rotate()</tt>, vous verrez que le code crée une référence locale à la fonction nommée <tt>rotate()</tt>. Il n'y a pas lieu de la faire pour cet exemple, nous l'avons uniquement fait ici pour conserver une longueur raisonnable à la ligne suivante. A noter qu'en appelant la fonction <tt>rotate()</tt>, nous faisons toujours tounoyer l'image originale du singe. Pendant la rotation, il y a une légère perte de qualité. Effectuer une rotation de façon répétitive sur la même image entraîne au fur et à mesure une dégradation de l'image. Quand une image tourne sur elle-même, la dimension de cette image sera modifiée. Ceci est dû au fait que les coins de l'image sortent de la dimension originale pendant la rotation, et augmente alors les dimensions de l'image. Nous nous assurons que le centre de la nouvelle image correspond au centre de l'ancienne image, de cette façon elle tournoie sans se déplacer.
 
La dernière méthode <tt>punched()</tt> indique que le sprite entre dans son état ''étourdi'' (<tt>dizzy</tt>). Ceci entrainera le tournoiement de l'image. Elle fera égaelementégalement une copie de l'actuelle appelée <tt>original</tt>.
 
== Tout initialiser ==