Mygtukas#

Įvadas#

button klasė yra išvestinė iš controller klasės. Ji suteikia prieigą prie valdiklio mygtukų būsenų ir mygtukų įvykių atšaukimų.

button objektas pasiekiamas per controller objektą. Jis nėra konstruojamas tiesiogiai.

IQ (1-osios kartos) valdiklyje yra aštuoni pagrindiniai mygtukai. Jei prie IQ (1-osios kartos) smegenų prijungtas IQ (2-osios kartos) valdiklis, taip pat galima naudoti vairasvirtės mygtukus ButtonL3 ir ButtonR3.

IQ valdiklis su visais paryškintais mygtukais.

Prieiga#

controller klasė teikia šiuos mygtukų objektus. Kiekvienas objektas yra button klasės egzempliorius.

Objektas

Naudojimo pavyzdys

Aprašymas

ButtonEDown

Controller.ButtonEDown.pressing()

Mygtukas E ▼.

ButtonEUp

Controller.ButtonEUp.pressing()

Mygtukas E ▲.

ButtonFDown

Controller.ButtonFDown.pressing()

Mygtukas F ▼.

ButtonFUp

Controller.ButtonFUp.pressing()

Mygtukas F ▲.

ButtonLDown

Controller.ButtonLDown.pressing()

Mygtukas L ▼.

ButtonLUp

Controller.ButtonLUp.pressing()

Mygtukas L ▲.

ButtonRDown

Controller.ButtonRDown.pressing()

Mygtukas R ▼.

ButtonRUp

Controller.ButtonRUp.pressing()

Mygtukas R ▲.

ButtonL3

Controller.ButtonL3.pressing()

Kairioji valdymo svirtis. Tik IQ (2-osios kartos) valdikliui.

ButtonR3

Controller.ButtonR3.pressing()

Dešinysis valdymo svirties mygtukas. Tik IQ (2-osios kartos) valdikliui.

Pastabos#

  • Prieš naudodami button nario funkciją, sukurkite controller objektą.

  • ButtonL3 ir ButtonR3 pasiekiami tik prijungus IQ (2-osios kartos) valdiklį.

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

Narių funkcijos#

button klasė apima šias narines funkcijas:

Getter – skaitymo mygtuko būsena.

  • pressing — Grąžina, ar mygtukas yra paspaudžiamas.

Atgaliniai iškvietimai – vykdyti funkcijas, kai įvyksta mygtuko įvykiai.

  • pressed — Registruoja funkciją, kuri bus vykdoma paspaudus mygtuką.

  • released — Registruoja funkciją, kuri bus vykdoma atleidus mygtuką.

Getteris#

pressing#

pressing grąžina, ar mygtukas šiuo metu yra paspaustas.

Galima funkcija

bool pressing() const;

Parametrai

Ši funkcija neturi parametrų.

Grąžinimo vertė

Grąžina loginę reikšmę.

  • true — Mygtukas yra paspaudžiamas.

  • false — Mygtukas nespaudžiamas.

Pavyzdys

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

  wait(20, msec);
}

Atgaliniai skambučiai#

pressed#

pressed užregistruoja funkciją, kuri paleidžiama paspaudus mygtuką.

Galima funkcija

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

Parametras

Tipas

Aprašymas

callback

void (*)(void)

Funkcija, kuri paleidžiama paspaudus mygtuką.

Grąžinimo vertė

Ši funkcija negrąžina reikšmės.

Pavyzdys

Apibrėžkite grįžtamojo ryšio funkciją už main ribų.

// Drive forward when F Up is pressed
void driveForward() {
  Drivetrain.driveFor(forward, 100, mm);
}

Užregistruokite atgalinį iškvietimą main viduje.

int main() {
  vexcodeInit();

  // Run driveForward when F Up is pressed
  Controller.ButtonFUp.pressed(driveForward);
}

released#

released užregistruoja funkciją, kuri paleidžiama atleidus mygtuką.

Galima funkcija

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

Parametras

Tipas

Aprašymas

callback

void (*)(void)

Funkcija, kuri paleidžiama atleidus mygtuką.

Grąžinimo vertė

Ši funkcija negrąžina reikšmės.

Pavyzdys

Apibrėžkite grįžtamojo ryšio funkciją už main ribų.

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

Užregistruokite atgalinį iškvietimą main viduje.

int main() {
  vexcodeInit();

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