Painike#

Johdanto#

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

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

V5-ohjaimen etu- ja takapuoli, painikkeet keltaisella korostettuina. Ohjaimen pinnalla vasemmalla ovat ylös-, alas-, vasen- ja oikea-nuolinäppäimet sekä oikealla myötäpäivään klo 12:sta alkavat X-, A-, B- ja Y-painikkeet. Ohjaimen takapuolella vasemmalla ja oikealla puolella ovat L1, L2, R1 ja R2.

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.

ButtonX

Controller.ButtonX.pressing()

X-painike.

ButtonY

Controller.ButtonY.pressing()

Y-painike.

ButtonDown

Controller.ButtonDown.pressing()

Alaspäin-painike.

ButtonUp

Controller.ButtonUp.pressing()

Ylös-painike.

ButtonLeft

Controller.ButtonLeft.pressing()

Vasen-painike.

ButtonRight

Controller.ButtonRight.pressing()

Oikea-painike.

ButtonL1

Controller.ButtonL1.pressing()

L1-painike.

ButtonL2

Controller.ButtonL2.pressing()

L2-painike.

ButtonR1

Controller.ButtonR1.pressing()

R1-painike.

ButtonR2

Controller.ButtonR2.pressing()

R2-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#

painaminen#

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#

painettu#

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 A is pressed
void driveForward() {
  Drivetrain.driveFor(forward, 100, mm);
}

Rekisteröi takaisinkutsu main -muuttujaan.

int main() {
  vexcodeInit();

  // Run driveForward when A is pressed
  Controller.ButtonA.pressed(driveForward);
}

julkaistu#

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 A is released
void stopDriving() {
  Drivetrain.stop();
}

Rekisteröi takaisinkutsu main -muuttujaan.

int main() {
  vexcodeInit();

  // Run stopDriving when A is released
  Controller.ButtonA.released(stopDriving);
}