Eventos#
Introdução#
Um evento é um sinal de início para um conjunto de blocos. Os blocos de eventos no VEXcode permitem que diferentes conjuntos de blocos comecem em momentos diferentes. Por exemplo, um conjunto de blocos pode começar quando o projeto é iniciado, e outro pode começar quando um sinal é enviado de algum outro local do projeto.
quando temporizador – Executa uma pilha de blocos após o temporizador exceder um tempo especificado.
quando iniciado – Executa a pilha de blocos anexada quando o projeto é iniciado.
quando recebo evento – Executa a pilha de blocos anexada quando um evento específico é transmitido.
evento de transmissão – Aciona um evento sem pausar outros blocos.
transmitir evento e aguardar – Aciona um evento e pausa outros blocos até que as tarefas do evento estejam concluídas.
quando o temporizador#
O bloco de chapéu when timer executa a pilha de blocos anexada após um período de tempo especificado.
quando temporizador > [1] segundos
Parâmetros |
Descrição |
|---|---|
hora |
Especifica o número de segundos antes do início da pilha de blocos anexada. Aceita números inteiros e decimais. |
Exemplo
quando temporizador > [2] segundos
[Move the 6-Axis Arm after 2 seconds.]
incrementar posição de [braço v] por x:[100] y:[0] z:[0] [mm v] ▶
quando iniciado#
O bloco quando iniciado inicia a execução dos blocos abaixo dele quando o projeto é iniciado. Todo o projeto necessita de pelo menos um bloco quando é iniciado — sem ele, os blocos abaixo não serão executados. Vários blocos quando iniciado podem ser utilizados para executar diferentes conjuntos de blocos em simultâneo.
quando iniciar
Parâmetros |
Descrição |
|---|---|
Este bloco não possui parâmetros. |
Exemplo
quando iniciar
[Move the 6-Axis Arm 100 millimeters along the x-axis.]
incrementar posição de [braço v] por x:[100] y:[0] z:[0] [mm v] ▶
Parâmetros |
Descrição |
|---|---|
Este bloco não possui parâmetros. |
quando recebo o evento#
O bloco quando recebo o evento inicia a execução dos blocos abaixo do mesmo quando um sinal com o mesmo nome de evento é broadcast.
quando receber [my_event v]
Parâmetros |
Descrição |
|---|---|
evento |
O evento a desencadear. Os utilizadores podem selecionar um evento existente, criar um novo, renomear o evento selecionado ou eliminá-lo. |
Exemplo
quando iniciar
[Move the 6-Axis Arm 100 millimeters along the y-axis.]
incrementar posição de [braço v] por x:[100] y:[0] z:[0] [mm v] ▶
transmitir [move_y v]
quando receber [move_y v]
imprimir [Received!] no console ◀ e mover cursor para a próxima linha
incrementar posição de [braço v] por x:[0] y:[100] z:[0] [mm v] ▶
evento de transmissão#
O bloco de pilha evento de transmissão envia um sinal que inicia qualquer bloco quando receber evento com o mesmo nome de evento. O resto dos blocos do projeto continua a ser executado sem esperar que esses blocos terminem.
transmitir [message1 v]
Parâmetros |
Descrição |
|---|---|
evento |
O evento a disparar. Os utilizadores podem selecionar um evento existente, criar um novo, renomear o evento selecionado ou eliminá-lo. |
Exemplo
quando iniciar
[Move the 6-Axis Arm 100 millimeters along the y-axis.]
incrementar posição de [braço v] por x:[100] y:[0] z:[0] [mm v] ▶
transmitir [move_y v]
quando receber [move_y v]
imprimir [Received!] no console ◀ e mover cursor para a próxima linha
incrementar posição de [braço v] por x:[0] y:[100] z:[0] [mm v] ▶
transmitir o evento e esperar#
O bloco de pilha evento de transmissão e espera envia um sinal que inicia qualquer bloco quando recebo evento com o mesmo nome de evento. O restante projeto aguardará a conclusão da execução do evento transmitido.
transmitir [message1 v] e aguardar
Parâmetros |
Descrição |
|---|---|
evento |
O evento a disparar. Os utilizadores podem selecionar um evento existente, criar um novo, renomear o evento selecionado ou eliminá-lo. |
Exemplo
quando iniciar
[Move the 6-Axis Arm 100 millimeters along the y-axis.]
incrementar posição de [braço v] por x:[100] y:[0] z:[0] [mm v] ▶
transmitir [move_y v] e aguardar
imprimir [Finished moving!] no console ◀ e mover cursor para a próxima linha
quando receber [move_y v]
imprimir [Received!] no console ◀ e mover cursor para a próxima linha
incrementar posição de [braço v] por x:[0] y:[100] z:[0] [mm v] ▶