Eventos#
Introducción#
Un evento es una señal de inicio para un conjunto de bloques. Los bloques de eventos en VEXcode permiten que diferentes conjuntos de bloques comiencen en diferentes momentos. Por ejemplo, un conjunto de bloques puede comenzar cuando comienza el proyecto, y otro puede comenzar cuando se envía una señal desde otro lugar del proyecto.
when timer: ejecuta una pila de bloques después de que el temporizador exceda un tiempo especificado.
cuando comenzó: ejecuta la pila de bloques adjunta cuando comienza el proyecto.
cuando recibo un evento: ejecuta la pila de bloques adjunta cuando se transmite un evento específico.
broadcast event: activa un evento sin pausar otros bloques.
transmitir evento Y esperar: activa un evento y pausa otros bloques hasta que se completen las tareas del evento.
cuando el temporizador#
El bloque Hat * * When Timer * * ejecuta la pila de bloques adjunta después de un período de tiempo especificado.
cuando temporizador > [1] segundos
Parámetros |
Descripción |
|---|---|
tiempo |
Especifica el número de segundos antes de que comience la pila de bloques adjunta. Acepta números enteros y decimales. |
Ejemplo
cuando temporizador > [2] segundos
[Move the 6-Axis Arm after 2 seconds.]
incrementar posición de [brazo v] en x:[100] y:[0] z:[0] [mm v] ▶
cuando se inició#
El bloque al iniciarse ejecuta los bloques que se encuentran debajo cuando comienza el proyecto. Todo proyecto necesita al menos un bloque al iniciarse; sin él, los bloques inferiores no se ejecutarán. Se pueden usar varios bloques al iniciarse para ejecutar diferentes conjuntos de bloques simultáneamente.
cuando inicie
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando inicie
[Move the 6-Axis Arm 100 millimeters along the x-axis.]
incrementar posición de [brazo v] en x:[100] y:[0] z:[0] [mm v] ▶
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
cuando recibo el evento#
El bloque when I receive event Hat comienza a ejecutar los bloques debajo de él cuando una señal con el mismo nombre de evento es broadcast.
cuando reciba [my_event v]
Parámetros |
Descripción |
|---|---|
evento |
El evento a desencadenar. Los usuarios pueden seleccionar un evento existente, crear uno nuevo, cambiar el nombre del evento seleccionado o eliminarlo. |
Ejemplo
cuando inicie
[Move the 6-Axis Arm 100 millimeters along the y-axis.]
incrementar posición de [brazo v] en x:[100] y:[0] z:[0] [mm v] ▶
transmitir [move_y v]
cuando reciba [move_y v]
imprimir [Received!] en consola ◀ y mover cursor a la siguiente fila
incrementar posición de [brazo v] en x:[0] y:[100] z:[0] [mm v] ▶
evento de difusión#
El bloque de pila evento de difusión envía una señal que inicia cualquier bloque cuando recibo evento con el mismo nombre de evento. El resto de los bloques del proyecto siguen ejecutándose sin esperar a que esos bloques finalicen.
transmitir [message1 v]
Parámetros |
Descripción |
|---|---|
evento |
El evento a desencadenar. Los usuarios pueden seleccionar un evento existente, crear uno nuevo, cambiar el nombre del evento seleccionado o eliminarlo. |
Ejemplo
cuando inicie
[Move the 6-Axis Arm 100 millimeters along the y-axis.]
incrementar posición de [brazo v] en x:[100] y:[0] z:[0] [mm v] ▶
transmitir [move_y v]
cuando reciba [move_y v]
imprimir [Received!] en consola ◀ y mover cursor a la siguiente fila
incrementar posición de [brazo v] en x:[0] y:[100] z:[0] [mm v] ▶
transmitir evento y esperar#
El bloque de pila * * broadcast event and wait * * envía una señal que inicia cualquier bloque when I receive event con el mismo nombre de evento. El resto del proyecto esperará a que el evento transmitido termine de ejecutarse.
transmitir [message1 v] y esperar
Parámetros |
Descripción |
|---|---|
evento |
El evento a desencadenar. Los usuarios pueden seleccionar un evento existente, crear uno nuevo, cambiar el nombre del evento seleccionado o eliminarlo. |
Ejemplo
cuando inicie
[Move the 6-Axis Arm 100 millimeters along the y-axis.]
incrementar posición de [brazo v] en x:[100] y:[0] z:[0] [mm v] ▶
transmitir [move_y v] y esperar
imprimir [Finished moving!] en consola ◀ y mover cursor a la siguiente fila
cuando reciba [move_y v]
imprimir [Received!] en consola ◀ y mover cursor a la siguiente fila
incrementar posición de [brazo v] en x:[0] y:[100] z:[0] [mm v] ▶