Hallo zusammen.
In einem Blender-Game werden häufig entweder Message-Sensoren oder Message-Actuators genutzt. Der Message-Sensor enthält jedoch weniger Optionen als der Message-Actuator. Dabei stelle sich drei wesentliche Fragen:
1. Wozu dient ein Body
2. Wie kann ich ihn nutzen
3. Was muss ich in diesem Feld eingeben
Ich gehe hier in dieser kleinen Beschreibung davon aus, dass ihr Messages und Subjects schon mal benutzt habt. Diese beiden Themen werden hier nicht behandelt.
Zu 1) Wozu dient ein Body beim Message-Actuator.
Mit dem Body kann ich sehr einfach Text an ein anderes Objekt übertragen.
LEIDER kann ich diesen Text ohne Python-Script nicht nutzen!
Deshalb habe ich ein kleines Script geschrieben, das als Python-Sensor einfach mit seinem Namen im Script-Feld eingetragen wird. Mit diesem Script kann das Feld Body genutzt werden. Hier der Download Test Message-Body
Zu 2) Damit kann mann viele interessante Dinge tun. Zum Beispiel kann mann einfach einen Wert eines Properties an ein anderes Objekt übertragen. Oder mann kann einen Text zu Anzeige übertragen. Oder mann kann eine Referenz zu einem Property im Empfänger-Objekt übertragen. Das ist besonders dann wichtig, wenn man in einem Anzeigeobjekt Text verwaltet und diese Text von anderen Objekte über eine Message ausgegeben werden sollen. In diesem Fall wird also nur die Refernez auf dieses Property, dass den Text enthält, über den Message-Body übertragen. Siehe dazu auch das Beispiel im oberen Link.
Zu 3) Im Message-Body wird ein Text immer in Anführungszeichen eingetragen. Werden keine Anführungszeichen am Anfang und am Ende des Strings gesetzt, gilt der Eintrag als Property-Name. Ist der Typ auf Property eingestellt, dann wird der Wert des Property aus dem Sende-Objekt an das Empfänger-Objekt übertragen. Ist der Typ "Text" und im Body-Feld wird ein String ohne Anführungszeichen eingegeben, gilt dieser Text als Referenz auf ein Property im Empfänger.
Viel Spaß beim Testen.
Gruß Peter