Gomb#
Bevezetés#
A button osztály a controller osztály származtatott osztálya. Hozzáférést biztosít a vezérlő gombjainak állapotaihoz és a gombesemények visszahívásaihoz.
Egy button objektumhoz egy controller objektumon keresztül lehet hozzáférni. Nem közvetlenül konstruálható.
Az IQ (1. generációs) vezérlő nyolc fő gombbal rendelkezik. Ha egy IQ (2. generációs) vezérlő csatlakozik az IQ (1. generációs) agyhoz, akkor a joystick gombjai ButtonL3 és ButtonR3 is használhatók.

Hozzáférés#
A controller osztály a következő gomb objektumokat biztosítja. Minden objektum a button osztály egy példánya.
Objektum |
Példahasználat |
Leírás |
|---|---|---|
|
|
Az E ▼ gomb. |
|
|
Az E ▲ gomb. |
|
|
Az F ▼ gomb. |
|
|
Az F ▲ gomb. |
|
|
Az L ▼ gomb. |
|
|
Az L ▲ gomb. |
|
|
Az R ▼ gomb. |
|
|
Az R ▲ gomb. |
|
|
A Bal oldali joystick gomb. Csak IQ (2. generációs) kontrollerrel. |
|
|
A Jobb oldali joystick gomb. Csak IQ (2. generációs) kontrollerrel. |
Megjegyzések#
Mielőtt
buttontagfüggvényt használnánk, hozzunk létre egycontrollerobjektumot.ButtonL3ésButtonR3csak akkor érhetők el, ha IQ (2. generációs) vezérlő van csatlakoztatva.
// Create a controller object
controller Controller = controller();
Tagfüggvények#
A button osztály a következő tagfüggvényeket tartalmazza:
Getter — Olvasás gomb állapota.
pressing— Visszaadja, hogy a gomb le van-e nyomva.
Visszahívások — Függvények futtatása gombesemények bekövetkeztekor.
Getter#
pressing#
pressing megnyomása közötti különbség azt adja vissza, hogy a gomb jelenleg le van-e nyomva.
Elérhető funkció
bool pressing() const;
Paraméterek
Ennek a függvénynek nincsenek paraméterei.
Visszatérési érték
Logikai értéket ad vissza.
true— A gombot megnyomják.false— A gombot nem nyomják meg.
Példa
// Turn right while R Up is pressed
while (true) {
if (Controller.ButtonRUp.pressing()) {
Drivetrain.turn(right);
}
else {
Drivetrain.stop();
}
wait(20, msec);
}
Visszahívások#
pressed#
pressed egy olyan függvényt regisztrál, amely a gomb megnyomásakor fut.
Elérhető funkció
void pressed(void (* callback)(void)) const;
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy függvény, amely a gomb megnyomásakor fut. |
Visszatérési érték
Ez a függvény nem ad vissza értéket.
Példa
Definiáld a visszahívó függvényt main változón kívül.
// Drive forward when F Up is pressed
void driveForward() {
Drivetrain.driveFor(forward, 100, mm);
}
Regisztrálja a visszahívást main változón belül.
int main() {
vexcodeInit();
// Run driveForward when F Up is pressed
Controller.ButtonFUp.pressed(driveForward);
}
released#
released egy olyan függvényt regisztrál, amely a gomb elengedésekor fut.
Elérhető funkció
void released(void (* callback)(void)) const;
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy függvény, amely a gomb elengedésekor fut. |
Visszatérési érték
Ez a függvény nem ad vissza értéket.
Példa
Definiáld a visszahívó függvényt main változón kívül.
// Stop the drivetrain when F Up is released
void stopDriving() {
Drivetrain.stop();
}
Regisztrálja a visszahívást main változón belül.
int main() {
vexcodeInit();
// Run stopDriving when F Up is released
Controller.ButtonFUp.released(stopDriving);
}