Events

Entities können auf bestimmte Ereignisse (Events), wie etwa der Kollision mit etwas, beschossen oder mit der Maus angeklickt zu werden, reagieren. Zum Handhaben solcher Events gibt es einen einfachen Mechanismus, welcher aus einem individuellen Befähigungs-Flag und einer gewöhnlichen Event-Funktion besteht.

Um eine Entity für eine bestimmte Art von Event zu sensibilisieren, wird das entsprechende ENABLE_... -Flag des emask-Parameters gesetzt. Geschieht irgend so ein per enable empfangbar gemachter Event, wird eine Anwender definierte Funktion, welche vor dem event-Funktionspointer der Entity zugewiesen wurde, gestartet. Diese Funktion bestimmt, was mit dem Event zu geschehen hat. Am Anfang der Funktion kann die vordefinierte Variable event_type geprüft werden, um herauszufinden welche Art von Event die Funktion ausgelöst hat. In Abhängigkeit davon kann die event-Funktion die Entity durch Aus-dem-Weg-gehen, Zurückschießen, Explodieren oder Ähnliches auf den Event reagieren lassen.

Beispiel:

Siehe event

 

► Aktuelle Version Online