Painike#

Johdanto#

button -luokka on controller -luokan johdettu luokka. Se tarjoaa pääsyn ohjaimen painikkeiden tiloihin ja painiketapahtumien takaisinkutsuihin.

button -objektiin päästään käsiksi controller -objektin kautta. Sitä ei konstruoida suoraan.

EXP-ohjaimen etu- ja yläpuoli, jossa ohjaussauvat, nuolipainikkeet ja toimintopainikkeet on korostettu keltaisella. Ohjaimen pinnalla on kaksi ohjaussauvaa vasemmalla ja oikealla, ylös- ja alas-nuolinäppäimet vasemmalla ja A- ja B-painikkeet oikealla. Ohjaimen yläosassa ovat L1 ja L2 vasemmalla puolella ja R1 ja R2 oikealla puolella.

Pääsy#

controller -luokka tarjoaa seuraavat painikeobjektit. Jokainen objekti on button -luokan instanssi.

Esine

Esimerkki käytöstä

Kuvaus

ButtonA

Controller.ButtonA.pressing()

A-painike.

ButtonB

Controller.ButtonB.pressing()

B-painike.

ButtonDown

Controller.ButtonDown.pressing()

Alaspäin-painike.

ButtonUp

Controller.ButtonUp.pressing()

Ylös-painike.

ButtonL1

Controller.ButtonL1.pressing()

L1-painike.

ButtonL2

Controller.ButtonL2.pressing()

L2-painike.

ButtonL3

Controller.ButtonL3.pressing()

L3-painike.

ButtonR1

Controller.ButtonR1.pressing()

R1-painike.

ButtonR2

Controller.ButtonR2.pressing()

R2-näppäin.

ButtonR3

Controller.ButtonR3.pressing()

R3-näppäin.

Muistiinpanoja#

  • Ennen button -jäsenfunktion käyttöä luo controller -objekti.

// Create a controller object
controller Controller = controller();

Jäsenten toiminnot#

button -luokka sisältää seuraavat jäsenfunktiot:

Getter — Lue-painikkeen tila.

  • pressing — Palauttaa tiedon siitä, painetaanko painiketta.

Takaisinkutsutoiminnot — Suorita funktioita, kun painiketoimintoja tapahtuu.

  • pressed — Rekisteröi funktion suoritettavaksi painiketta painettaessa.

  • released — Rekisteröi funktion suoritettavaksi, kun painike vapautetaan.

Getter#

pressing#

pressing palauttaa tiedon, painetaanko painiketta parhaillaan.

Käytettävissä oleva toiminto

bool pressing() const;

Parametrit

Tällä funktiolla ei ole parametreja.

Palautusarvo

Palauttaa totuusarvon.

  • true — Painiketta painetaan.

  • false — Painiketta ei paineta.

Esimerkki

// Turn right while L1 is pressed
while (true) {
  if (Controller.ButtonL1.pressing()) {
    Drivetrain.turn(right);
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

Takaisinkutsut#

pressed#

pressed rekisteröi funktion, joka suoritetaan, kun painiketta painetaan.

Käytettävissä oleva toiminto

void pressed(void (* callback)(void)) const;

Parametri

Tyyppi

Kuvaus

callback

void (*)(void)

Toiminto, joka suoritetaan, kun painiketta painetaan.

Palautusarvo

Tämä funktio ei palauta arvoa.

Esimerkki

Määrittele takaisinkutsufunktio main n ulkopuolella.

// Drive forward when R1 is pressed
void driveForward() {
  Drivetrain.driveFor(forward, 200, mm);
}

Rekisteröi takaisinkutsu main -muuttujaan.

int main() {
  vexcodeInit();

  // Run driveForward when R1 is pressed
  Controller.ButtonR1.pressed(driveForward);
}

released#

released rekisteröi funktion, joka suoritetaan, kun painike vapautetaan.

Käytettävissä oleva toiminto

void released(void (* callback)(void)) const;

Parametri

Tyyppi

Kuvaus

callback

void (*)(void)

Toiminto, joka käynnistyy, kun painike vapautetaan.

Palautusarvo

Tämä funktio ei palauta arvoa.

Esimerkki

Määrittele takaisinkutsufunktio main n ulkopuolella.

// Stop the drivetrain when R1 is released
void stopDriving() {
  Drivetrain.stop();
}

Rekisteröi takaisinkutsu main -muuttujaan.

int main() {
  vexcodeInit();

  // Run stopDriving when R1 is released
  Controller.ButtonR1.released(stopDriving);
}