控制器#
介绍#
V5 控制器包含按钮、两个摇杆、一个震动马达和一个屏幕。控制器模块可用于检测按钮按下、读取摇杆移动、使控制器震动、启用或禁用已配置的控制器操作、在控制器事件发生时运行模块,或在控制器屏幕上显示文本。
已配置的控制器操作是指在“设备”菜单中设置的控制器行为。使用控制器启用/禁用模块可以在项目进行期间临时启用或禁用这些已配置的操作。
以下是可用模块列表:
数值 — 检查控制器按钮状态或读取摇杆位置。
操作——震动控制器、启用/禁用已配置的控制器操作,或在控制器输入发生变化时运行代码块。
在控制器上播放震动 — 在控制器上播放震动模式。
控制器启用/禁用 — 启用或禁用在“设备”菜单中为所有已连接控制器配置的控制器操作。
当控制器按钮被按下时 — 当按下或释放选定的按钮时,运行附加的堆栈。
当控制器轴改变时 — 当操纵杆的位置沿选定的轴改变时,运行附加的堆栈。
屏幕——在控制器屏幕上显示文本和数字。
在控制器上打印 — 在控制器屏幕上显示文本、数字或变量值。
将光标设置到控制器上的行列 — 将光标移动到控制器屏幕上的指定行和列。
将光标移至控制器上的下一行 — 将光标移至控制器屏幕上的下一行。
设置控制器上的打印精度 — 设置在控制器屏幕上打印数字时显示的小数位数。
清除控制器 — 清除控制器屏幕上的所有行。
清除控制器上的行 — 清除控制器屏幕上的一行。
价值观#
控制器被按下?#
**控制器是否被按下?**布尔块返回所选控制器按钮是否被按下。

<[Controller 1 v] [▲ v] 按下?>
范围 |
描述 |
|---|---|
设备 |
要使用的控制器,在“设备”窗口中进行配置。 |
按钮 |
要检查的按钮:
|
例子
当开始
[Drive forward while X is pressed.]
永久循环
如果 <[Controller 1 v] [X v] 按下?> 那么
驱动 [向前 v]
否则
驱动停止
结束
结束
控制器位置#
控制器位置报告器模块返回操纵杆沿选定轴的位置,数值范围为**-100到100**。

([Controller1 v] [1 v] position :: sensing)
范围 |
描述 |
|---|---|
设备 |
要使用的控制器,在“设备”窗口中进行配置。 |
轴 |
要报告的操纵杆轴:
|
例子
当开始
[Drive forward while the left joystick is pushed up.]
永久循环
如果 <([Controller1 v] [3 v] position :: sensing) [math_greater_than v] [0]> 那么
驱动 [向前 v]
否则
驱动停止
结束
结束
行动#
在控制器上玩震动模式#
在控制器上播放震动效果 堆栈块会在控制器上播放震动模式。
[Controller 1 v] 播放 [Long v] 振动
范围 |
描述 |
|---|---|
图案 |
控制器震动模式:
|
设备 |
要使用的控制器,在“设备”窗口中进行配置。 |
例子
当 [Controller 1 v] 按键 [R1 v] [pressed v] :: hat events
[Controller 1 v] 播放 [Short v] 振动
控制器启用/禁用#
控制器启用/禁用堆栈块启用或禁用从“设备”菜单对所有已连接控制器配置的操作。
控制器 [Disable v]
范围 |
描述 |
|---|---|
状态 |
控制器配置的操作状态:禁用或启用。 |
例子
当开始
[Disable Controller configured actions until the drive movement is done.]
控制器 [Disable v]
驱动 [向前 v] (6) [英寸 v] ▶
控制器 [Enable v]
当控制器轴发生变化时#
当控制器轴改变时,当控制器轴改变时 Hat 模块会在操纵杆的位置沿选定轴改变时运行附加的堆栈。

when [Controller1 v] axis [1 v] is changed :: hat events
范围 |
描述 |
|---|---|
设备 |
要使用的控制器,在“设备”窗口中进行配置。 |
轴 |
需要检查的摇杆轴:
|
例子
when [Controller1 v] axis [3 v] is changed :: hat events
[Drive forward when the joystick's position changes along axis 3.]
驱动 [向前 v] (200) [毫米 v] ▶
屏幕#
在控制器上打印#
在控制器上打印堆栈块会在控制器屏幕上当前光标位置显示文本、数字或变量值。
在 [Controller 1 v] ▶上打印 [VEXcode] :: custom-controller-inertial-timer
范围 |
描述 |
|---|---|
价值 |
要在控制器屏幕上显示的文本、数字或变量值。 |
设备 |
要使用的控制器,在“设备”窗口中进行配置。 |
展开箭头 |
扩展代码块以包含并将光标设置为下一行,这样在打印值后光标就会移动到下一行。如果未使用此选项,则下一个打印值将紧跟在同一行的前一个值之后。 |
例子
当开始
[Display a message on the Controller screen.]
在 [Controller 1 v] ▶上打印 [Hello, robot!] :: custom-controller-inertial-timer
将光标设置到控制器上的行列#
“将光标设置到控制器屏幕上的行列”堆栈块会将光标移动到控制器屏幕上的指定行和列。下一个打印值将显示在该位置。
在 [Controller 1 v] 设定光标至 [1] 行 [1] 列 :: custom-controller-inertial-timer
范围 |
描述 |
|---|---|
排 |
在控制器屏幕上,光标要移动到的行。 |
柱子 |
在控制器屏幕上,光标要移动到的列。 |
设备 |
要使用的控制器,在“设备”窗口中进行配置。 |
例子
当开始
[Display a message on row 2.]
在 [Controller 1 v] 设定光标至 [2] 行 [1] 列 :: custom-controller-inertial-timer
在 [Controller 1 v] ▶上打印 [Ready] :: custom-controller-inertial-timer
将光标设置到控制器上的下一行#
“将光标移至控制器屏幕的下一行”堆栈块会将光标移动到控制器屏幕下一行的第 1 列。下一个打印值将显示在该行。
设定 [Controller 1 v] 光标至下一行 :: custom-controller-inertial-timer
范围 |
描述 |
|---|---|
设备 |
要使用的控制器,在“设备”窗口中进行配置。 |
例子
当开始
[Display two rows of text.]
在 [Controller 1 v] ▶上打印 [Row 1] :: custom-controller-inertial-timer
设定 [Controller 1 v] 光标至下一行 :: custom-controller-inertial-timer
在 [Controller 1 v] ▶上打印 [Row 2] :: custom-controller-inertial-timer
在控制器上设置打印精度#
设置控制器打印精度堆栈块用于设置控制器屏幕上打印数字时显示的小数位数。此设置适用于使用此堆栈块之后打印的数字。
将打印精度设置为 [0.1 v] 到 [Controller 1 v] :: custom-controller-inertial-timer
范围 |
描述 |
|---|---|
精确 |
打印精度:
|
设备 |
要使用的控制器,在“设备”窗口中进行配置。 |
例子
当开始
[Display 1/3 with two decimals.]
将打印精度设置为 [0.01 v] 到 [Controller 1 v] :: custom-controller-inertial-timer
在 [Controller 1 v] ▶上打印 ([1] [math_division v] [3]) :: custom-controller-inertial-timer
清晰控制器#
清除控制器堆栈块清除控制器屏幕上的所有行,并将光标移回第一行。
clear [Controller1 v] :: custom-controller-inertial-timer
范围 |
描述 |
|---|---|
设备 |
要使用的控制器,在“设备”窗口中进行配置。 |
例子
当开始
[Clear the Controller screen after printing.]
在 [Controller 1 v] ▶上打印 [This will disappear...] :: custom-controller-inertial-timer
等待 [2] 秒
clear [Controller1 v] :: custom-controller-inertial-timer
清除控制器上的行#
清除控制器上的行堆栈块清除控制器屏幕上的一行。
清除 [Controller 1 v] 第 [1] 行 :: custom-controller-inertial-timer
范围 |
描述 |
|---|---|
排 |
控制器屏幕上要清除的行。 |
设备 |
要使用的控制器,在“设备”窗口中进行配置。 |
例子
当开始
[Clear one row on the Controller screen.]
在 [Controller 1 v] ▶上打印 [Row 1] :: custom-controller-inertial-timer
设定 [Controller 1 v] 光标至下一行 :: custom-controller-inertial-timer
在 [Controller 1 v] ▶上打印 [Row 2] :: custom-controller-inertial-timer
等待 [2] 秒
清除 [Controller 1 v] 第 [1] 行 :: custom-controller-inertial-timer