ปุ่ม#
การแนะนำ#
คลาสปุ่ม button ได้รับมาจากคลาสพื้นฐาน brain และให้การเข้าถึงปุ่มของ EXP Brain ทำให้หุ่นยนต์ของคุณสามารถตรวจจับได้ว่าปุ่มถูกกดและปล่อยเมื่อใด
เข้าถึง#
คลาส button มีอ็อบเจ็กต์ปุ่มสามตัว แต่ละอ็อบเจ็กต์เป็นอินสแตนซ์ของคลาส button และสามารถเข้าถึงได้ผ่านอินสแตนซ์ของสมอง
วัตถุ |
ตัวอย่างการใช้งาน |
คำอธิบาย |
|---|---|---|
|
|
ปุ่มตรวจสอบ |
|
|
ปุ่มซ้าย |
|
|
ปุ่มขวา |
ฟังก์ชันสมาชิก#
คลาสปุ่ม button ประกอบด้วยฟังก์ชันสมาชิกต่อไปนี้:
pressing— ส่งคืนว่าปุ่มที่ระบุถูกกดอยู่หรือไม่pressed— ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อกดปุ่มที่ระบุreleased— ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อปล่อยปุ่มที่ระบุ
ก่อนเรียกใช้ฟังก์ชันสมาชิก 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); }