Ereignisse verwenden#

Using Events

Dieses Tutorial erklärt die Verwendung von Ereignissen in VEXcode V5. Am Ende wissen Sie, wie Sie ein Ereignis senden und wie ein anderer Blockstapel darauf reagiert.

Ereignisse ermöglichen es separaten Blockstapeln in einem Projekt, mithilfe von Blöcken der Kategorie Logik – Ereignisse miteinander zu kommunizieren. Blöcke, deren Namen mit broadcast beginnen, signalisieren das Eintreten eines Ereignisses, und Blöcke, deren Namen mit when beginnen, führen daraufhin ihren zugehörigen Blockstapel aus.

Fügen Sie Ihrem Projekt einen Broadcast-Block oder einen Broadcast and Wait-Block hinzu.

Screenshot der Toolbox-Kategorie Logik - Ereignisse, wobei die Blöcke „Broadcast“ und „Broadcast und Warte“ hervorgehoben sind.

Wählen Sie im Broadcast-Block das Dropdown-Menü aus, um ein vorhandenes Ereignis auszuwählen oder ein Ereignis zu erstellen, umzubenennen oder zu löschen.

Screenshot des geöffneten Dropdown-Menüs des Broadcast-Blocks, das die Option „my_event“ sowie die Optionen „Neues Ereignis“, „Ereignis umbenennen“ und „Ereignis „my_event“ löschen“ anzeigt.

Fügen Sie dem Arbeitsbereich einen Wenn ich empfange-Block hinzu und legen Sie in dessen Dropdown-Menü den Ereignisnamen fest, der im Senden-Block verwendet wird. Fügen Sie anschließend darunterliegende Blöcke hinzu, die immer dann ausgeführt werden, wenn dieses Ereignis gesendet wird.

Screenshot der Toolbox-Kategorie Logik - Ereignisse, wobei die Blöcke "Wenn gestartet" und "Wenn ich empfange" hervorgehoben sind.

Sobald ein wenn ich empfange-Block mit dem Ereignisnamen eines Sende-Blocks übereinstimmt, werden beim Ausführen des Projekts beide Stacks gleichzeitig ausgeführt. Beispielsweise dreht sich dieses Projekt, bis der Bildschirm des Gehirns gedrückt wird, und sendet dann ein Ereignis, das den Roboter am Fahren hindert.

Nach dem Start dreht sich der Roboter, bis der Bildschirm berührt wird. Sobald das Signal empfangen wird, sendet er eine Nachricht, die den Roboter stoppt.#
wenn gestartet
drehe [rechts v]
warte bis <Bildschirm gedrückt?>
sende [my_event v]
wenn ich [my_event v] empfange
Fahren stoppen

Blöcke, die mit wenn beginnen, können auch Sensoren zugeordnet werden und führen die zugehörigen Blöcke aus, sobald die Bedingung des jeweiligen Sensors erfüllt ist. Beispiele hierfür sind die Blöcke wenn Gehirnbildschirm und wenn Stoßschalter.

Der Bildschirm des Gehirns blockiert den Bildschirm.#
wenn Brain-Bildschirm [gedrückt v] :: hat events
Der „When Bumper Switch“-Hutblock.#
wenn [BumperA v] [gedrückt v] :: hat events