按鈕#
介紹#
button 類派生自 brain 基類,並提供對 EXP Brain 按鈕的訪問,使你的機器人能夠檢測其按鈕何時被按下和釋放。
使用權#
button 類別提供了三個按鈕物件。每個物件都是 button 類別的實例,並且可以透過 brain 實例存取。
目的 |
用法範例 |
描述 |
|---|---|---|
|
|
勾選按鈕 |
|
|
左鍵 |
|
|
右鍵 |
成員功能#
button 類別包含以下成員函數:
在呼叫任何 button 成員函數之前,必須建立一個 brain 實例,如下所示:
// Create the EXP Brain
brain Brain = brain();
pressing#
返回特定大腦按鈕目前是否被按下。
Available Functionsbool pressing() const;
此函數不接受任何參數。
Return Values傳回布林值,指示指定的按鈕是否被按下:
true— 按鈕被按下。false— 按鈕未按下。
這個函數可以對任何按鈕物件調用,例如:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
// Turn right while the check button is pressed
while (true) {
if (Brain.buttonCheck.pressing()) {
Drivetrain.turn(right);
} else {
Drivetrain.stop();
}
wait(5, msec);
}
pressed#
註冊一個回調函數,當按下特定的腦部按鈕時運行該函數。
Available Functionsvoid pressed(
void (* callback)(void) ) const;
範圍 |
類型 |
描述 |
|---|---|---|
|
|
按下指定按鈕時呼叫的函數。 |
此函數不傳回值。
Examples這個函數可以對任何大腦按鈕物件調用,例如:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
定義回呼函數(在
int main()之外)// Drive forward when the right button is pressed void driveForward() { Drivetrain.driveFor(forward, 100, mm); }在
int main()中註冊回呼函數int main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); // Call driveForward when the right button is pressed Brain.buttonRight.pressed(driveForward); }
released#
註冊一個回調函數,當特定的腦部按鈕被釋放時,該函數將運行。
Available Functionsvoid released(
void (* callback)(void) ) const;
範圍 |
類型 |
描述 |
|---|---|---|
|
|
當指定的按鈕被釋放時,將呼叫該函數。 |
此函數不傳回值。
Examples這個函數可以對任何大腦按鈕物件調用,例如:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
定義回呼函數(在
int main()之外)// Drive backward when the left button is released void backUp() { Drivetrain.driveFor(reverse, 100, mm); }在
int main()中註冊回呼函數int main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); // Call backUp when the left button is released Brain.buttonLeft.released(backUp); }