Utilizando eventos#

Using Events

Este tutorial aborda como utilizar eventos no VEXcode V5. 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 quando recebo corresponde ao nome do evento utilizado por um bloco transmitir, a execução do projeto permite que ambas as pilhas funcionem em simultâneo. Por exemplo, este projeto gira até que o ecrã do cérebro seja pressionado e, em seguida, transmite um evento que impede o robô de se mover.

Ao ser iniciado, o robô gira até que o ecrã seja pressionado e, em seguida, transmite um evento que o pára quando o recebe.#
quando iniciar
virar [direita v]
aguardar até <tela pressionada?>
transmitir [my_event v]
quando receber [my_event v]
parar de conduzir

Os blocos que começam por when também podem ser encontrados associados a sensores, executando os blocos aos quais estão associados sempre que a condição do sensor é satisfeita. Por exemplo, os blocos when Brain screen e when Bumper Switch.

O bloqueio de ecrã do cérebro.#
quando tela do Brain [pressionado v] :: hat events
O bloco de chapéu do interruptor do pára-choques.#
quando [BumperA v] [pressionado v] :: hat events