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 2. nesil kumandanın ön ve arka yan görünümü, tüm düğmeler sarı renkle vurgulanmıştır. Kumandanın yüzeyinde sol ve sağ üst köşelerde iki joystick düğmesi bulunur; sol joystickin altında E yukarı ve aşağı, sağ joystickin altında ise F yukarı ve aşağı düğmeleri yer alır. Kumandanın arkasında ise sol ve sağ taraflarda sırasıyla L yukarı ve aşağı, R yukarı ve aşağı düğmeleri bulunur.

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.

ButtonL3

Controller.ButtonL3.pressing()

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

ButtonLDown

Controller.ButtonLDown.pressing()

L ▼ düğmesi.

ButtonLUp

Controller.ButtonLUp.pressing()

L ▲ düğmesi.

ButtonR3

Controller.ButtonR3.pressing()

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

ButtonRDown

Controller.ButtonRDown.pressing()

R ▼ düğmesi.

ButtonRUp

Controller.ButtonRUp.pressing()

R ▲ düğmesi.

Notlar#

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

  • ButtonL3 ve ButtonR3 yalnızca IQ (2. nesil) Kontrol Cihazında mevcuttur.

// 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);
}