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.

IQ (1. nesil) Kontrol Cihazı sekiz ana düğme nesnesine sahiptir. IQ (2. nesil) Kontrol Cihazı IQ (1. nesil) Beynine bağlıysa, joystick düğmeleri ButtonL3 ve ButtonR3 de kullanılabilir.

Tüm düğmeleri vurgulanmış IQ Kontrol Cihazı.

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

ButtonEDown

Controller.ButtonEDown.pressing()

E ▼ düğmesi.

ButtonEUp

Controller.ButtonEUp.pressing()

E ▲ düğmesi.

ButtonFDown

Controller.ButtonFDown.pressing()

F ▼ düğmesi.

ButtonFUp

Controller.ButtonFUp.pressing()

F ▲ düğmesi.

ButtonLDown

Controller.ButtonLDown.pressing()

L ▼ düğmesi.

ButtonLUp

Controller.ButtonLUp.pressing()

L ▲ düğmesi.

ButtonRDown

Controller.ButtonRDown.pressing()

R ▼ düğmesi.

ButtonRUp

Controller.ButtonRUp.pressing()

R ▲ düğmesi.

ButtonL3

Controller.ButtonL3.pressing()

Sol Joystick düğmesi. Yalnızca IQ (2. nesil) kumanda için geçerlidir.

ButtonR3

Controller.ButtonR3.pressing()

Sağ Joystick düğmesi. Yalnızca IQ (2. nesil) kumanda için geçerlidir.

Notlar#

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

  • ButtonL3 ve ButtonR3 yalnızca bir IQ (2. nesil) Kontrol Cihazı bağlı olduğunda kullanılabilir.

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

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

int main() {
  vexcodeInit();

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

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

int main() {
  vexcodeInit();

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