DU LERNST HIER... |
den Actors ein dynamisches "Eigenleben" zu geben. Sobald die Funktion doRun() aufgerufen wird, startet ein Simulationszyklus, in dem die Methode act() periodisch aufgerufen wird. |
MUSTERBEISPIELE |
Beispiel1: Die Fische sollen hin und her schwimmen |
Programm: # Gg3.py from gamegrid import * # -------------- class Fish ----------------------------- class Fish(Actor): def __init__(self): Actor.__init__(self, "sprites/nemo.gif") def act(self): self.move() if (self.getX()== 9) or (self.getX() == 0): self.turn(180) # ----------------- 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() doRun() Beispiel 2: Der Fisch soll auch hier hin und her schwimmen und am Rand des Spielfensters auch sein Bild drehen um 180° drehen.
Programm: # Gg3a.py from gamegrid import * # --------------- class Fish ---------------------------- class Fish(Actor): def __init__(self): Actor.__init__(self, "sprites/nemo.gif") def act(self): self.move() if self.getX()== 9: self.turn(180) self.setHorzMirror(True) if self.getX()== 0: self.turn(180) self.setHorzMirror(False) # ------------------- main --------------------------------- makeGameGrid(10, 10, 60, Color.red, "sprites/reef.gif") nemo = Fish() addActor(nemo, Location(1, 3)) show() doRun() Beispiel 3: Der Fisch soll alle Zellen durchlaufen
Programm: # Gg3b.py from gamegrid import * # --------------- class Fish ---------------------------- class Fish(Actor): def __init__(self): Actor.__init__(self, "sprites/nemo.gif") def act(self): self.move() if self.getX()== 9: self.turn(90) self.setHorzMirror(True) if self.getX()== 0: self.turn(270) self.setHorzMirror(False) # ------------------- main --------------------------------- makeGameGrid(10, 10, 60, Color.red, "sprites/reef.gif") nemo = Fish() addActor(nemo, Location(0, 0)) show() doRun() |
MERKE DIR... |
Um die Actors im Spielfenster zu bewegen verwendest du folgende Methoden:
Damit diese Methoden automatisch aufgerufen werden, müssen sie in der Methode act() sein. |
ZUM SELBST LÖSEN |
|
![]() |
![]() |
![]() |