HomeTortue graphiqueGPanelRobotique WebTigerPython
 Python - Online
actors
Deutsch   English   Français   

2. ACTORS

 

 

TU APPRENDRAS ICI...

 

comment créer des personnages de jeu (Actors) dans la fenêtre de jeu et leur attribuer une image.


 

Tous les personnages de jeu sont considérés comme des objets d'une classe dérivée de la classe Actor. Chaque Actor possède une image appelée sprite. Un Actor peut également posséder plusieurs sprites.

En Python, la définition d'une classe commence par le mot-clé class. Le nom d'une classe commence par une majuscule. Lorsqu'une classe est dérivée d'une autre classe, le nom de la classe de base doit être indiqué entre parenthèses.

Les classes dérivées héritent de toutes les méthodes de la classe de base, mais il est également possible d'y ajouter de nouvelles méthodes.

Une méthode se distingue d'une fonction par deux caractéristiques :

  • elle est définie à l'intérieur d'une classe ;

  • son premier paramètre est toujours self.

Une classe possède une méthode spéciale appelée constructeur. En Python, les constructeurs sont toujours définis avec def __init__(self). La définition d'une classe se trouve toujours avant le programme principal.



 

EXAMPLES

 

Example1: Tu définis une class Fish, dérivée de la classe Actor, et tu fais apparaître deux objets de cette classe dans la fenêtre de jeu. L'image du sprite nemo.gif i est attribuée à la classe Fish.

Pour faire apparaître un poisson dans la fenêtre de jeu, tu dois créer un objet de cette classe dans le programme principal. Tu l'appelles nemo. Avec addActor(nemo, Location(1, 3)), tu ajoutes nemo à la fenêtre de jeu dans la cellule (1, 3). La numérotation des cellules commence à 0. Tu peux créer plusieurs objets de la classe Fish et les ajouter à la fenêtre de jeu.

 

Programme:

# Gg2.py
from gamegrid import *

# ------------- class Fish -------------------------------
class Fish(Actor):
    def __init__(self):
        Actor.__init__(self, "sprites/nemo.gif")
 
# ---------------- main ----------------------------------
makeGameGrid(10, 10, 60, Color.red, "sprites/reef.gif")
nemo = Fish()
addActor(nemo, Location(1, 3))
wanda = Fish()
addActor(wanda, Location(6, 7))
show()
► Copy to clipboard

Tu peux également créer plusieurs Actors de la classe Fish sans leur donner de nom individuel. Pour cela, tu appelles directement le constructeur Fish() dans la fonction addActor() et tu indiques ensuite la position souhaitée.

Programme:

# Gg2a.py

from gamegrid import *

# ------------- class Fish -------------------------------
class Fish(Actor):
    def __init__(self):
        Actor.__init__(self, "sprites/nemo.gif")
 
# ---------------- main ----------------------------------
makeGameGrid(10, 10, 60, Color.red, "sprites/reef.gif")
addActor(Fish(), Location(1, 3))
addActor(Fish(), Location(6, 7))
show()
► Copy to clipboard

 

 

À RETENIR...

 

Les personnages de jeu sont créés sous forme d'objets d'une classe dérivée de la classe Actor. Avec addActor(personnage, Location()), tu les ajoutes à la fenêtre de jeu.

Toutes les images de sprites utilisées dans ce tutoriel sont incluses dans la distribution WebTigerPython. Tu peux les consulter dans la documentation en cliquant sur le lien Bibliothèque d'images.

 

 

À FAIRE PAR TOI-MÊME

 

1.

Crée une fenêtre de jeu comportant 10 × 10 cellules de 60 pixels, avec des lignes de grille rouges, sans image d'arrière-plan et sans barre de navigation.

Prends le programme Gg2.py comme modèle et définis une classe Pacman. Crée ensuite trois Actors nommés paki1, paki2 et paki3 aux positions (1, 1), (3, 5) et (7, 3).

 

2.

Crée 10 Actors de la classe Pacman, disposés en diagonale dans la fenêtre de jeu.

Utilise une boucle for.