Nachrichten#

Send messages#

With send_message(self, message) you can send a message to all objects in your world. These messages can be received and processed by other objects if they are listening for the corresponding event.

Example:#

In diesem Beispiel sendet Spieler 1 eine Nachricht, dass er sich bewegt hat.

@player1.register
def on_key_down(self, keys):
    if 'a' in keys:
        self.move()  # Bewegt player1
        self.send_message("p1moved")  # Sendet Nachricht "p1moved" an alle

Nachrichten empfangen#

Mit dem Dekorator register_message("message") kannst du eine Nachricht registrieren:

Example:#

In the following example, the message sent by player1 is received by player2. He always moves in the direction of player1 whenever player1 moves.

@player1.register
def on_key_down(self, keys):
    if 'a' in keys:
        self.move()  # Bewegt player1
        self.send_message("p1moved")  # Sendet Nachricht "p1moved" an alle

@player2.register_message("p1moved") # Hier wird registriert, dass die folgende Funktion auf die Message "p1moved" reagieren soll.
def follow(self, data): # Der Funktionsname ist hier egal
    self.move_towards(player1)  # player2 bewegt sich in Richtung player1

Explanation:#

  • In diesem Beispiel sendet player1 die Nachricht „p1moved“, wenn die Taste A gedrückt wird.

  • player2 hat eine Methode registriert, die auf diese Nachricht hört. Sobald player1 sich bewegt, empfängt player2 die Nachricht und bewegt sich in Richtung von player1.