使用事件#

Using Events

本教程讲解如何在 VEXcode IQ(第二代)中使用事件。学完本教程后,您将了解如何广播事件并让另一组模块响应该事件。

事件允许项目中不同的代码块堆栈相互通信,使用的都是逻辑 - 事件类别的代码块。名称以广播开头的代码块表示事件已发生,而名称以当开头的代码块则会响应事件的发生而运行其关联的代码块堆栈。

在你的项目中添加一个广播模块或一个广播并等待模块。

逻辑 - 事件工具箱类别的屏幕截图,其中突出显示了广播和广播并等待块。

在广播模块的下拉菜单中选择现有事件,或创建、重命名或删除事件。

广播模块下拉菜单打开的屏幕截图,显示了 my_event 选项以及“新建事件”、“重命名事件”和“删除“my_event”事件”选项。

在工作区中添加一个“当我收到”模块,并将其下拉菜单设置为与“广播”模块中使用的事件名称相匹配。然后,在其下方添加模块,因为这些模块会在广播该事件时运行。

逻辑 - 事件工具箱类别的屏幕截图,其中“启动时”和“接收时”模块已突出显示。

一旦“接收时”模块与“广播”模块使用的事件名称匹配,运行项目即可让这两个模块同时运行。例如,机器人会一直转向,直到按下“大脑检查”按钮,然后广播一个事件来停止机器人行驶。

启动后,机器人会一直旋转,直到按下检查按钮,然后广播一个事件,当接收到该事件时,机器人就会停止旋转。#
当开始
[右 v] 转
等到 <Brain [确认 v] 键按下了?>
广播 [my_event v]
当我收到 [my_event v]
驱动停止

以“when”开头的模块也适用于其他设备类别,当满足相应设备的条件时,它们会运行与其关联的模块。例如,“when Brain button”和“when Bumper”模块。

当大脑按钮帽块出现时。#
当Brain [◀ v] 按键 [按下 v]
当 Bumper hat block 出现时。#
当 [Bumper1 v] [按下 v]