按钮#
介绍#
The button class is derived from the controller base class and provides access to the V5 Controller’s buttons, allowing your robot to monitor presses to the controller’s buttons.

使用权#
The controller class provides twelve button objects. Each object is an instance of the button class and can be accessed through a controller instance.
目的 |
用法示例 |
描述 |
|---|---|---|
|
|
一个按钮 |
|
|
B 按钮 |
|
|
X 按钮 |
|
|
Y 按钮 |
|
|
向上按钮 |
|
|
向下按钮 |
|
|
左键 |
|
|
右键 |
|
|
L1按钮 |
|
|
L2按钮 |
|
|
R1按钮 |
|
|
R2按钮 |
笔记#
The
buttonobject is provided by the controller. It is not constructed directly.
成员功能#
The Button class includes the following member functions:
Before calling any button member functions, a controller instance must be created, as shown below:
// Create a V5 controller instance
controller Controller = controller();
紧迫#
返回指定控制器按钮当前是否被按下。
Available Functionsbool pressing() const;
此函数不接受任何参数。
Return Values返回一个整数,指示指定的按钮是否被按下:
1— The button is being pressed.0— The button is not being pressed.
这个函数可以对任何控制器按钮对象调用,例如:
Controller.ButtonAController.ButtonBController.ButtonXController.ButtonYController.ButtonDownController.ButtonUpController.ButtonLeftController.ButtonRightController.ButtonL1Controller.ButtonL2Controller.ButtonR1Controller.ButtonR2
// Turn right while L1 is pressed
while (true) {
if (Controller.ButtonL1.pressing()) {
Drivetrain.turn(right);
} else {
Drivetrain.stop();
}
wait(5, msec);
}
按下#
注册一个回调函数,当按下特定的控制器按钮时,该函数将运行。
Available Functionsvoid pressed(
void (* callback)(void) ) const;
范围 |
类型 |
描述 |
|---|---|---|
|
|
按下指定按钮时调用的函数。 |
此函数不返回值。
Examples这个函数可以对任何控制器按钮对象调用,例如:
Controller.ButtonAController.ButtonBController.ButtonXController.ButtonYController.ButtonDownController.ButtonUpController.ButtonLeftController.ButtonRightController.ButtonL1Controller.ButtonL2Controller.ButtonR1Controller.ButtonR2
// Drive forward when A is pressed
void driveForward() {
Drivetrain.driveFor(forward, 100, mm);
}
// Call driveForward when the A button is pressed
Controller.ButtonA.pressed(driveForward);
发布#
注册一个回调函数,当特定控制器按钮被释放时,该函数将运行。
Available Functionsvoid released(
void (* callback)(void) ) const;
参数#
范围 |
类型 |
描述 |
|---|---|---|
|
|
当指定的按钮被释放时,将调用该函数。 |
此函数不返回值。
Examples这个函数可以对任何控制器按钮对象调用,例如:
Controller.ButtonAController.ButtonBController.ButtonXController.ButtonYController.ButtonDownController.ButtonUpController.ButtonLeftController.ButtonRightController.ButtonL1Controller.ButtonL2Controller.ButtonR1Controller.ButtonR2
// Drive backward when A is released
void backUp() {
Drivetrain.driveFor(reverse, 100, mm);
}
// Call backUp when the A button is released
Controller.ButtonA.released(backUp);