6. Ereignisse

Events sind ein zentrales Konept des Miniworldmakers:

  • Mit Events kannst du Eingaben abfragen (z.B. Mausklicks oder Tastatureingaben)

  • Mit Events können Objekte miteinander kommunizieren (z.B. über Nachrichten)

6.1. Ein Ereignis registrieren

Damit das Board oder ein Player auf ein Ereignis reagiert, muss dieses registriert werden. Dies funktioniert genauso wie bei der act()-Methode:

@player.register
def on_key_down_w(self):
    self.move()

Hier wird die Methode on_key_down_w registriert, die überprüft, ob die Taste w gedrückt wurde. Sobald dies registriert wird, bewegt sich das Token player um einen Schritt nach vorne.

6.2. on_key_down und on_key_pressed

Es gibt die beiden Funktionen on_key_down(self, key) und on_key_pressed(self, key): Die Funktion on_key_down wird genau einmal aufgerufen, wenn die Taste gedrückt wird. Die Taste on_key_pressed hingegen wird immer wieder aufgerufen, solange die Taste gedrückt wird.

Beide Funktionen gibt es in der Variante on_key_down_b(self) oder on_key_pressed_c(self) um das betätigen einer konkreten Taste abzufragen.

6.3. Nachrichten senden

Mit send message(self, message) kannst du eine globale Nachricht an alle Objekte und das Board senden. Diese Nachrichten können mit on_message verarbeitet werden.

Beispiel:

@player.register
def on_message(self, message):
    if message = "Example message":
      do_something()

6.4. Weitere Ereignisse:

Note

➥ Mehr Infos über Richtungen: Key Concept: Events