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.

EXP Kontrol Cihazının ön ve üst yüzü, joystickler, ok tuşları ve eylem tuşları sarı renkle vurgulanmıştır. Kontrol cihazının yüzeyinde sol ve sağda iki joystick, solda yukarı ve aşağı ok tuşları ve sağda A ve B tuşları bulunmaktadır. Kontrol cihazının üst kısmında sol tarafta L1 ve L2, sağ tarafta ise R1 ve R2 tuşları 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.

ButtonDown

Controller.ButtonDown.pressing()

Aşağı düğmesi.

ButtonUp

Controller.ButtonUp.pressing()

Yukarı düğmesi.

ButtonL1

Controller.ButtonL1.pressing()

L1 düğmesi.

ButtonL2

Controller.ButtonL2.pressing()

L2 düğmesi.

ButtonL3

Controller.ButtonL3.pressing()

L3 düğmesi.

ButtonR1

Controller.ButtonR1.pressing()

R1 düğmesi.

ButtonR2

Controller.ButtonR2.pressing()

R2 düğmesi.

ButtonR3

Controller.ButtonR3.pressing()

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

pressing#

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#

pressed#

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

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

int main() {
  vexcodeInit();

  // Run driveForward when R1 is pressed
  Controller.ButtonR1.pressed(driveForward);
}

released#

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

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

int main() {
  vexcodeInit();

  // Run stopDriving when R1 is released
  Controller.ButtonR1.released(stopDriving);
}