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.

IQ 2. sukupolven ohjaimen etu- ja takakuva, jossa kaikki painikkeet on korostettu keltaisella. Ohjaimen pinnalla on kaksi joystick-painiketta vasemmassa ja oikeassa yläkulmassa, E ylös ja alas vasemman joystickin alapuolella ja F ylös ja alas oikean alapuolella. Ohjaimen takaosassa ovat L ylös ja alas vasemmalla ja R ylös ja alas oikealla puolella.

Pääsy#

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

Esine

Esimerkki käytöstä

Kuvaus

ButtonEDown

Controller.ButtonEDown.pressing()

E ▼ -painike.

ButtonEUp

Controller.ButtonEUp.pressing()

E ▲ -painike.

ButtonFDown

Controller.ButtonFDown.pressing()

F ▼ -painike.

ButtonFUp

Controller.ButtonFUp.pressing()

F ▲ -painike.

ButtonL3

Controller.ButtonL3.pressing()

Vasen ohjaussauva-painike. Vain IQ (2. sukupolvi) -ohjaimessa.

ButtonLDown

Controller.ButtonLDown.pressing()

L ▼ -painike.

ButtonLUp

Controller.ButtonLUp.pressing()

L ▲ -painike.

ButtonR3

Controller.ButtonR3.pressing()

Oikea ohjaussauva-painike. Vain IQ (2. sukupolvi) -ohjaimessa.

ButtonRDown

Controller.ButtonRDown.pressing()

R ▼ -painike.

ButtonRUp

Controller.ButtonRUp.pressing()

R ▲ -painike.

Muistiinpanoja#

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

  • ButtonL3 ja ButtonR3 ovat käytettävissä vain IQ (2. sukupolvi) -ohjaimessa.

// 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 R Up is pressed
while (true) {
  if (Controller.ButtonRUp.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 F Up is pressed
void driveForward() {
  Drivetrain.driveFor(forward, 100, mm);
}

Rekisteröi takaisinkutsu main -muuttujaan.

int main() {
  vexcodeInit();

  // Run driveForward when F Up is pressed
  Controller.ButtonFUp.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 F Up is released
void stopDriving() {
  Drivetrain.stop();
}

Rekisteröi takaisinkutsu main -muuttujaan.

int main() {
  vexcodeInit();

  // Run stopDriving when F Up is released
  Controller.ButtonFUp.released(stopDriving);
}