DU LERNST HIER... |
den Actors ein dynamisches "Eigenleben" zu geben. Sobald im Navigationsbalken die Schaltfläche Run gedrückt wird oder die Funktion doRun() aufgerufen wird, startet ein Simulationszyklus, in dem die Methode act() periodisch aufgerufen wird. Die Simulationsperiode kann mit dem Schieberegler verändert werden. Mit Klick auf Step kann man die Bewegung schrittweise laufen lassen, mit Stop kann man eine Pause einschalten. |
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 |
|
![]() |
![]() |
![]() |