Cái nút#
Giới thiệu#
Lớp nút button là một lớp dẫn xuất của lớp controller. Nó cung cấp quyền truy cập vào trạng thái nút điều khiển và các hàm gọi lại sự kiện nút.
Một đối tượng nút button được truy cập thông qua một đối tượng bộ điều khiển controller Nó không được tạo trực tiếp.

Truy cập#
Lớp điều khiển controller cung cấp các đối tượng nút sau. Mỗi đối tượng là một thể hiện của lớp nút button.
Sự vật |
Ví dụ sử dụng |
Sự miêu tả |
|---|---|---|
|
|
Nút A. |
|
|
Nút B. |
|
|
Nút Xuống. |
|
|
Nút Lên. |
|
|
Nút L1. |
|
|
Nút L2. |
|
|
Nút L3. |
|
|
Nút R1. |
|
|
Nút R2. |
|
|
Nút R3. |
Ghi chú#
Trước khi sử dụng hàm thành viên nút
button, hãy tạo đối tượng bộ điều khiểncontroller.
// Create a controller object
controller Controller = controller();
Chức năng thành viên#
Lớp nút button bao gồm các hàm thành viên sau:
Getter — Đọc trạng thái của nút.
pressing— Trả về trạng thái nút có đang được nhấn hay không.
Hàm gọi lại — Thực thi các hàm khi có sự kiện nhấn nút.
Người nhận#
pressing#
Nhấn phím pressing trả về trạng thái hiện tại của nút, cho biết nút đó có đang được nhấn hay không.
Chức năng khả dụng
bool pressing() const;
Thông số
Hàm này không có tham số.
Giá trị trả về
Trả về giá trị Boolean.
true— Nút đang được nhấn.false— Nút không được nhấn.
Ví dụ
// Turn right while L1 is pressed
while (true) {
if (Controller.ButtonL1.pressing()) {
Drivetrain.turn(right);
}
else {
Drivetrain.stop();
}
wait(20, msec);
}
Cuộc gọi lại#
pressed#
pressed đăng ký một hàm sẽ chạy khi nút được nhấn.
Chức năng khả dụng
void pressed(void (* callback)(void)) const;
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Một hàm được thực thi khi nút được nhấn. |
Giá trị trả về
Hàm này không trả về giá trị nào.
Ví dụ
Xác định hàm gọi lại bên ngoài main.
// Drive forward when R1 is pressed
void driveForward() {
Drivetrain.driveFor(forward, 200, mm);
}
Đăng ký hàm gọi lại bên trong main.
int main() {
vexcodeInit();
// Run driveForward when R1 is pressed
Controller.ButtonR1.pressed(driveForward);
}
released#
released đăng ký một hàm sẽ chạy khi nút được nhả ra.
Chức năng khả dụng
void released(void (* callback)(void)) const;
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Một hàm được thực thi khi người dùng nhả nút. |
Giá trị trả về
Hàm này không trả về giá trị nào.
Ví dụ
Xác định hàm gọi lại bên ngoài main.
// Stop the drivetrain when R1 is released
void stopDriving() {
Drivetrain.stop();
}
Đăng ký hàm gọi lại bên trong main.
int main() {
vexcodeInit();
// Run stopDriving when R1 is released
Controller.ButtonR1.released(stopDriving);
}