Düğme#

giriiş#

button sınıfı, controller sınıfının türetilmiş bir sınıfıdır. Denetleyici düğme durumlarına ve düğme olay geri çağrılarına erişim sağlar.

button nesnesine controller nesnesi aracılığıyla erişilir. Doğrudan oluşturulmaz.

V5 Kontrol Cihazının ön ve arka yüzü, düğmeleri sarı renkle vurgulanmıştır. Kontrol cihazının yüzeyinde sol tarafta yukarı, aşağı, sol ve sağ ok düğmeleri, sağ tarafta ise saat 12 yönünden başlayarak saat yönünde X, A, B, Y düğmeleri bulunmaktadır. Kontrol cihazının arka yüzünde ise sol ve sağ taraflarda sırasıyla L1, L2, R1 ve R2 düğmeleri yer almaktadır.

Erişim#

controller sınıfı aşağıdaki düğme nesnelerini sağlar. Her nesne, button sınıfının bir örneğidir.

Nesne

Örnek Kullanım

Tanım

ButtonA

Controller.ButtonA.pressing()

A düğmesi.

ButtonB

Controller.ButtonB.pressing()

B düğmesi.

ButtonX

Controller.ButtonX.pressing()

X düğmesi.

ButtonY

Controller.ButtonY.pressing()

Y düğmesi.

ButtonDown

Controller.ButtonDown.pressing()

Aşağı düğmesi.

ButtonUp

Controller.ButtonUp.pressing()

Yukarı düğmesi.

ButtonLeft

Controller.ButtonLeft.pressing()

Sol düğmesi.

ButtonRight

Controller.ButtonRight.pressing()

Sağ düğme.

ButtonL1

Controller.ButtonL1.pressing()

L1 düğmesi.

ButtonL2

Controller.ButtonL2.pressing()

L2 düğmesi.

ButtonR1

Controller.ButtonR1.pressing()

R1 düğmesi.

ButtonR2

Controller.ButtonR2.pressing()

R2 düğmesi.

Notlar#

  • button üye fonksiyonunu kullanmadan önce, controller nesnesi oluşturun.

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

Üye Fonksiyonları#

button sınıfı aşağıdaki üye fonksiyonlarını içerir:

Getter — Düğme durumunu oku.

Geri Çağrı Fonksiyonları — Düğme olayları gerçekleştiğinde fonksiyonları çalıştırın.

  • pressed — Düğmeye basıldığında çalıştırılacak bir fonksiyonu kaydeder.

  • released — Düğme bırakıldığında çalıştırılacak bir fonksiyonu kaydeder.

Getter#

pres#

pressing düğmenin şu anda basılı olup olmadığını gösterir.

Mevcut Fonksiyon

bool pressing() const;

Parametreler

Bu fonksiyonun parametresi yoktur.

Dönüş Değeri

Mantıksal (Boolean) bir değer döndürür.

  • true — Düğmeye basılıyor.

  • false — Düğmeye basılmıyor.

Örnek

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

  wait(20, msec);
}

Geri aramalar#

bastırıldı#

pressed basıldığında çalışan bir fonksiyonu kaydeder.

Mevcut Fonksiyon

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

Parametre

Tip

Tanım

callback

void (*)(void)

Düğmeye basıldığında çalışan bir fonksiyon.

Dönüş Değeri

Bu fonksiyon bir değer döndürmez.

Örnek

Geri çağırma fonksiyonunu main dışında tanımlayın.

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

Geri çağırma işlevini main içine kaydedin.

int main() {
  vexcodeInit();

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

piyasaya sürülmüş#

released düğme bırakıldığında çalışan bir fonksiyonu kaydeder.

Mevcut Fonksiyon

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

Parametre

Tip

Tanım

callback

void (*)(void)

Düğme bırakıldığında çalışan bir fonksiyon.

Dönüş Değeri

Bu fonksiyon bir değer döndürmez.

Örnek

Geri çağırma fonksiyonunu main dışında tanımlayın.

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

Geri çağırma işlevini main içine kaydedin.

int main() {
  vexcodeInit();

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