Tlačítko#
Zavedení#
Třída button je odvozenou třídou třídy controller. Poskytuje přístup ke stavům tlačítek controlleru a zpětným voláním událostí tlačítek.
K objektu button se přistupuje prostřednictvím objektu controller Není konstruován přímo.

Přístup#
Třída controller poskytuje následující objekty button. Každý objekt je instancí třídy button.
Objekt |
Příklad použití |
Popis |
|---|---|---|
|
|
Tlačítko E ▼. |
|
|
Tlačítko E ▲. |
|
|
Tlačítko F ▼. |
|
|
Tlačítko F ▲. |
|
|
Tlačítko Levé joysticku. Pouze pro ovladač IQ (2. generace). |
|
|
Tlačítko L ▼. |
|
|
Tlačítko L ▲. |
|
|
Tlačítko Pravého joysticku. Pouze pro ovladač IQ (2. generace). |
|
|
Tlačítko R ▼. |
|
|
Tlačítko R ▲. |
Poznámky#
Před použitím členské funkce
buttonvytvořte objektcontroller.Tlačítka
ButtonL3aButtonR3jsou k dispozici pouze na ovladači IQ (2. generace).
// Create a controller object
controller Controller = controller();
Členské funkce#
Třída button obsahuje následující členské funkce:
Getter — Čte stav tlačítka.
pressing— Vrátí, zda je tlačítko stisknuto.
Zpětná volání — Spouštějí funkce, když dojde k událostem tlačítek.
Getter#
pressing#
pressing vrátí, zda je tlačítko aktuálně stisknuto.
Dostupná funkce
bool pressing() const;
Parametry
Tato funkce nemá parametry.
Návratová hodnota
Vrací booleovskou hodnotu.
true— Tlačítko je stisknuto.false— Tlačítko není stisknuto.
Příklad
// Turn right while R Up is pressed
while (true) {
if (Controller.ButtonRUp.pressing()) {
Drivetrain.turn(right);
}
else {
Drivetrain.stop();
}
wait(20, msec);
}
Zpětná volání#
pressed#
pressed zaregistruje funkci, která se spustí při stisknutí tlačítka.
Dostupná funkce
void pressed(void (* callback)(void)) const;
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Funkce, která se spustí po stisknutí tlačítka. |
Návratová hodnota
Tato funkce nevrací hodnotu.
Příklad
Definujte funkci zpětného volání mimo main.
// Drive forward when F Up is pressed
void driveForward() {
Drivetrain.driveFor(forward, 100, mm);
}
Zaregistrujte zpětné volání uvnitř main.
int main() {
vexcodeInit();
// Run driveForward when F Up is pressed
Controller.ButtonFUp.pressed(driveForward);
}
released#
released registruje funkci, která se spustí po uvolnění tlačítka.
Dostupná funkce
void released(void (* callback)(void)) const;
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Funkce, která se spustí po uvolnění tlačítka. |
Návratová hodnota
Tato funkce nevrací hodnotu.
Příklad
Definujte funkci zpětného volání mimo main.
// Stop the drivetrain when F Up is released
void stopDriving() {
Drivetrain.stop();
}
Zaregistrujte zpětné volání uvnitř main.
int main() {
vexcodeInit();
// Run stopDriving when F Up is released
Controller.ButtonFUp.released(stopDriving);
}