GEC1
Begriff · zeitachse

Event

Ein Moment, in dem etwas passiert, zum Beispiel ein Tastendruck, ein Betreten oder ein Aufprall. Das Spiel reagiert genau dann, statt in jedem Frame nachzusehen.

Kurz

Ein Event ist ein Zeitpunkt: Eine Taste wird gedrückt, die Spielfigur betritt eine Zone, zwei Objekte stoßen zusammen. Darauf lässt sich eine Reaktion hängen: Dann öffnet sich die Tür, dann spielt ein Ton.

Ein Event dauert nicht. Was dauert, ist ein Zustand: „Taste wird gedrückt“ ist ein Event, „Taste ist unten“ ist ein Zustand.

Genauer

Ein Spiel kann auf zwei Arten mitbekommen, dass etwas passiert:

ArtwieBeispiel
Nachsehenin jedem Frame in Update fragen„Ist die Spielfigur schon nah genug?“
Eventdie Engine meldet sich, wenn es passiertUnity ruft OnTriggerEnter auf, sobald etwas die Zone betritt

Viele Methoden in Unity-Skripten sind solche Meldungen. Unity nennt sie Event Functions: Start() einmal vor dem ersten Update(), OnTriggerEnter() beim Betreten eines Triggers, OnCollisionEnter() beim Aufprall (siehe Kollision).

void OnTriggerEnter(Collider other)
{
    if (other.CompareTag("Player"))   // eine Bedingung filtert das Event
        tuer.SetActive(false);
}

Daneben gibt es Events, die sich im Inspector verdrahten lassen (UnityEvent). Ein UI-Button hat zum Beispiel die Liste On Click (): Dort wird eingetragen, was beim Klick passieren soll, ganz ohne Code.

In Unity sehen

Im Kit beginnt jede Kette mit einem Auslöser-Knoten: Start, Taste, Zone, Zusammenstoß, Benutzen. Er feuert ein Event; die Drähte tragen es weiter zu Wenn, Warten oder einer Aktion. Im laufenden Spiel zeigt der Graph, wann ein Event durchläuft.

Weiterlesen