Mygtukas#

Įvadas#

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

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

V5 valdiklio priekinė ir galinė pusės su geltonai paryškintais mygtukais. Valdiklio paviršiuje kairėje yra rodyklių aukštyn, žemyn, kairėn ir dešinėn mygtukai, o dešinėje - X, A, B, Y mygtukai, veikiantys pagal laikrodžio rodyklę nuo 12 valandos. Valdiklio gale, kairėje ir dešinėje pusėse, yra L1, L2, R1 ir R2.

Prieiga#

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

Objektas

Naudojimo pavyzdys

Aprašymas

ButtonA

Controller.ButtonA.pressing()

Mygtukas A.

ButtonB

Controller.ButtonB.pressing()

Mygtukas B.

ButtonX

Controller.ButtonX.pressing()

Mygtukas X.

ButtonY

Controller.ButtonY.pressing()

Mygtukas Y.

ButtonDown

Controller.ButtonDown.pressing()

Mygtukas Žemyn.

ButtonUp

Controller.ButtonUp.pressing()

Mygtukas Aukštyn.

ButtonLeft

Controller.ButtonLeft.pressing()

Mygtukas Kairė.

ButtonRight

Controller.ButtonRight.pressing()

Mygtukas Dešinėn.

ButtonL1

Controller.ButtonL1.pressing()

Mygtukas L1.

ButtonL2

Controller.ButtonL2.pressing()

Mygtukas L2.

ButtonR1

Controller.ButtonR1.pressing()

Mygtukas R1.

ButtonR2

Controller.ButtonR2.pressing()

Mygtukas R2.

Pastabos#

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

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

spaudimas#

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 L1 is pressed
while (true) {
  if (Controller.ButtonL1.pressing()) {
    Drivetrain.turn(right);
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

Atgaliniai skambučiai#

paspaustas#

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

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

int main() {
  vexcodeInit();

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

išleistas#

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

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

int main() {
  vexcodeInit();

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