![]()
DU LERNST HIER... |
wie du die Tastatur zum Steuern der Spielfiguren verwenden kannst. |
In sogenannten Callbackfunktionen definierst du, was geschehen soll, wenn eine Tastaturtaste gedrückt oder losgelassen wird wird. Diese Funktionen werden nicht durch das Programm aufgerufen, sondern automatisch vom System, wenn eine Taste betätigt wird. Die Callbackfunktionen werden mit den benannten Parametern keyPressed oder keyReleased in makeGamegrid() registriert. Mit der Funktion getKeyCode() kannst du den nummerischen Code der gedrückten Taste ermitteln. |
MUSTERBEISPIEL |
| Beispiel1: Pacman mit den Cursotasten steuern |
Die Callbackfunktion keyCallback(e) definiert, was geschehen soll, wenn eine Cursortaste gedrückt wird. Die Callbackfunktion erhält den Parameter e, aus dem du mit getKeyCode() den Code der gedrückten Taste ermitteln kannst.. Bei den Cursortasten sind es die Zahlencodes 37, 38, 39 und 40.
Programm: # Gg6.py from gamegrid import * # --------------------- class Pacman --------------------- class Pacman(Actor): def __init__(self): Actor.__init__(self, True, "sprites/pacman.gif", 2); def tryToEat(self): self.show(0) actor = getOneActorAt(self.getLocation(), Pill); if (actor != None): actor.hide() self.show(1) # --------------------- class Pill --------------------- class Pill(Actor): def __init__(self): Actor.__init__(self, "sprites/pill_0.gif"); def keyCallback(e): keyCode = e.getKeyCode() if keyCode == 37: # left paki.setDirection(180) elif keyCode == 38: # up paki.setDirection(270) elif keyCode == 39: # right paki.setDirection(0) elif keyCode == 40: # down paki.setDirection(90) paki.move() paki.tryToEat() makeGameGrid(10, 10, 60, Color.red, False, keyPressed = keyCallback) paki = Pacman() addActor(paki, Location(0,0)) for i in range(10): addActor(Pill(), getRandomEmptyLocation()) show() doRun() |
MERKE DIR... |
| Die Callbackfunktion keyCallback(e) wird vom System aufgerufen, wenn eine Tastaturtaste gedrückt wird. Sie wird mit dem Parameter keyPressed in makeGamegrid() registriert. Mit getKeyCode() kannst du den Code der gedrückten Taste ermitteln. Bei den Cursortasten sind es die Zahlencodes 37, 38, 39 und 40. |
ZUM SELBST LÖSEN |
|
![]()