Utilizando eventos#

Using Events

Este tutorial aborda como utilizar eventos no VEXcode IQ (2ª geração). No final, saberá como transmitir um evento e fazer com que outra pilha de blocos lhe responda.

Os Eventos permitem que conjuntos de blocos separados num projeto comuniquem entre si, utilizando blocos da categoria Lógica - Eventos. Os blocos cujos nomes começam por broadcast sinalizam que ocorreu um evento, e os blocos cujos nomes começam por when executam o conjunto de blocos a que estão associados em resposta.

Adicione um bloco de transmissão ou um bloco de transmissão e espera ao seu projeto.

Captura de ecrã da categoria "Eventos" da caixa de ferramentas, com os blocos "transmitir" e "transmitir e esperar" destacados.

Selecione a lista pendente no bloco transmissão para escolher um evento existente ou para criar, renomear ou eliminar um evento.

Captura de ecrã do menu suspenso do bloco de transmissão aberto, mostrando a opção my_event juntamente com as opções Novo evento, Renomear evento e Apagar o evento "my_event".

Adicione um bloco quando eu receber ao espaço de trabalho e defina o seu menu suspenso para corresponder ao nome do evento utilizado no seu bloco transmitir. Em seguida, anexe blocos abaixo dele, uma vez que esses blocos serão executados sempre que esse evento for transmitido.

Captura de ecrã da categoria "Eventos" da caixa de ferramentas, com os blocos "Quando iniciado" e "Quando receber" destacados.

Quando um bloco when I receive corresponde ao nome do evento utilizado por um bloco broadcast, a execução do projeto permite que ambas as pilhas funcionem em simultâneo. Por exemplo, o robô irá rodar até que o botão Brain’s Check seja pressionado e, em seguida, transmitirá um evento que impedirá o robô de se mover.

Ao ser iniciado, o robô roda até que o botão Verificar seja pressionado, enviando de seguida um evento que o pára quando o recebe.#
quando iniciar
virar [direita v]
aguardar até <botão [Verificar v] do Brain pressionado?>
transmitir [my_event v]
quando receber [my_event v]
parar de conduzir

Os blocos que começam por when também podem ser encontrados noutras categorias de dispositivos, executando os blocos associados sempre que a condição do dispositivo é satisfeita. Por exemplo, os blocos when Brain button e when Bumper.

O bloco de chapéu de botão do cérebro.#
quando botão [◀ v] do Brain [pressionado v]
O bloco de chapéu Bumper.#
quando [Bumper1 v] [pressionado v]