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.