Uso de eventos#

Using Events

Este tutorial explica cómo usar eventos en VEXcode V5. Al finalizar, sabrás cómo transmitir un evento y hacer que otro conjunto de bloques responda a él.

Los eventos permiten que pilas de bloques separadas en un proyecto se comuniquen entre sí, utilizando bloques de la categoría Lógica - Eventos. Los bloques cuyos nombres comienzan con broadcast indican que ha ocurrido un evento, y los bloques cuyos nombres comienzan con when ejecutan su pila de bloques asociada en respuesta.

Agregue un bloque de difusión o un bloque de difusión y espera a su proyecto.

Captura de pantalla de la categoría Lógica - Eventos de la caja de herramientas, con los bloques de difusión y difusión y espera resaltados.

Seleccione la opción desplegable en el bloque difusión para elegir un evento existente, o para crear, renombrar o eliminar un evento.

Captura de pantalla del menú desplegable del bloque de transmisión abierto, que muestra la opción my_event junto con las opciones Nuevo evento, Cambiar nombre del evento y Eliminar el evento "my_event".

Agrega un bloque cuando reciba al espacio de trabajo y configura su menú desplegable para que coincida con el nombre del evento utilizado en tu bloque difusión. Luego, adjunta bloques debajo, ya que estos se ejecutarán cada vez que se difunda dicho evento.

Captura de pantalla de la categoría Lógica - Eventos de la caja de herramientas, con los bloques "cuando se inicia" y "cuando recibo" resaltados.

Una vez que un bloque cuando recibo coincide con el nombre del evento utilizado por un bloque difusión, al ejecutar el proyecto, ambos bloques se ejecutan simultáneamente. Por ejemplo, este proyecto gira hasta que se presiona la pantalla del Cerebro y luego difunde un evento que detiene la marcha del robot.

Una vez encendido, gira hasta que se pulsa la pantalla y, al recibirla, emite un evento que detiene al robot.#
when started
turn [right v]
wait until <screen pressed?>
broadcast [my_event v]
when I receive [my_event v]
stop driving

También se pueden encontrar bloques que comienzan con when conectados a sensores, los cuales ejecutan sus bloques asociados cuando se cumple la condición de dicho sensor. Por ejemplo, los bloques when Brain screen y when Bumper Switch.

El cuando la pantalla del cerebro bloquea el sombrero.#
when Brain screen [pressed v] :: hat events
El cuando el interruptor del parachoques bloque del sombrero.#
when [BumperA v] [pressed v] :: hat events