Korzystanie z wydarzeń#

Using Events

W tym samouczku dowiesz się, jak korzystać ze zdarzeń w VEXcode V5. Dowiesz się, jak rozgłaszać zdarzenie i jak sprawić, by inny stos bloków na nie zareagował.

Zdarzenia umożliwiają komunikację między oddzielnymi stosami bloków w projekcie za pomocą bloków z kategorii Logika – Zdarzenia. Bloki, których nazwy zaczynają się od broadcast, sygnalizują wystąpienie zdarzenia, a bloki, których nazwy zaczynają się od when, uruchamiają w odpowiedzi dołączony do nich stos bloków.

Dodaj blok broadcast lub blok broadcast and wait do swojego projektu.

Zrzut ekranu kategorii skrzynki narzędziowej Logika - Zdarzenia z wyróżnionymi blokami rozgłaszania oraz rozgłaszania i oczekiwania.

Wybierz listę rozwijaną w bloku transmisja, aby wybrać istniejące wydarzenie, utworzyć, zmienić nazwę lub usunąć wydarzenie.

Zrzut ekranu rozwijanego menu bloku rozgłoszeniowego, pokazujący opcję my_event wraz z opcjami Nowe zdarzenie, Zmień nazwę zdarzenia i Usuń zdarzenie „my_event”.

Dodaj blok gdy odbieram do obszaru roboczego i ustaw jego listę rozwijaną tak, aby odpowiadała nazwie zdarzenia użytej w bloku rozgłaszania. Następnie dołącz bloki poniżej, ponieważ będą one uruchamiane za każdym razem, gdy dane zdarzenie zostanie rozgłoszone.

Zrzut ekranu kategorii skrzynki narzędziowej Logika - Zdarzenia, z wyróżnionymi blokami Kiedy rozpoczęto i Kiedy odbieram.

Gdy blok when I receive pasuje do nazwy zdarzenia używanej przez blok broadcast, uruchomienie projektu pozwala na jednoczesne działanie obu stosów. Na przykład ten projekt obraca się do momentu naciśnięcia ekranu Brain, a następnie nadaje zdarzenie, które zatrzymuje robota.

Po uruchomieniu obraca się do momentu naciśnięcia ekranu, a następnie nadaje zdarzenie, które zatrzymuje robota po jego odebraniu.#
gdy uruchomiony
skręć [w prawo v]
czekaj dopóki <ekran wciśnięty?>
nadaj [my_event v]
gdy otrzymam [my_event v]
zatrzymaj jazdę

Bloki zaczynające się od when można również znaleźć dołączone do czujników, uruchamiając przypisane im bloki za każdym razem, gdy spełniony zostanie warunek danego czujnika. Na przykład bloki hat when Brain screen i when Bumper Switch.

Kiedy ekran mózgu blokuje kapelusz.#
gdy ekran Brain [wciśnięty v] :: hat events
Blokada przełącznika zderzaka.#
gdy [BumperA v] [wciśnięty v] :: hat events