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.

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 |
|---|---|---|
|
|
E ▼ düğmesi. |
|
|
E ▲ düğmesi. |
|
|
F ▼ düğmesi. |
|
|
F ▲ düğmesi. |
|
|
L ▼ düğmesi. |
|
|
L ▲ düğmesi. |
|
|
R ▼ düğmesi. |
|
|
R ▲ düğmesi. |
|
|
Sol Joystick düğmesi. Yalnızca IQ (2. nesil) kumanda için geçerlidir. |
|
|
Sağ Joystick düğmesi. Yalnızca IQ (2. nesil) kumanda için geçerlidir. |
Notlar#
buttonüye fonksiyonunu kullanmadan önce,controllernesnesi oluşturun.ButtonL3veButtonR3yalnı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.
pressingbasıyor — Düğmeye basılıp basılmadığını döndürür.
Geri Çağrı Fonksiyonları — Düğme olayları gerçekleştiğinde fonksiyonları çalıştırın.
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 |
|---|---|---|
|
|
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 |
|---|---|---|
|
|
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);
}