Tombol#

Perkenalan#

Kelas button adalah kelas turunan dari kelas controller. Kelas ini menyediakan akses ke status tombol Controller dan callback event tombol.

Objek tombol button diakses melalui objek pengontrol controller Objek ini tidak dibuat secara langsung.

Sisi depan dan belakang Kontroler V5 dengan tombol-tombol yang disorot dengan warna kuning. Di permukaan kontroler terdapat tombol panah atas, bawah, kiri, dan kanan di sebelah kiri, dan tombol X, A, B, Y searah jarum jam dari pukul 12 di sebelah kanan. Di sisi belakang kontroler terdapat L1, L2, R1, dan R2 di sisi kiri dan kanan.

Mengakses#

Kelas controller menyediakan objek tombol berikut. Setiap objek merupakan instance dari kelas button.

Obyek

Contoh Penggunaan

Keterangan

ButtonA

Controller.ButtonA.pressing()

Tombol A.

ButtonB

Controller.ButtonB.pressing()

Tombol B.

ButtonX

Controller.ButtonX.pressing()

Tombol X.

ButtonY

Controller.ButtonY.pressing()

Tombol Y.

ButtonDown

Controller.ButtonDown.pressing()

Tombol Bawah.

ButtonUp

Controller.ButtonUp.pressing()

Tombol Naik.

ButtonLeft

Controller.ButtonLeft.pressing()

Tombol Kiri.

ButtonRight

Controller.ButtonRight.pressing()

Tombol Kanan.

ButtonL1

Controller.ButtonL1.pressing()

Tombol L1.

ButtonL2

Controller.ButtonL2.pressing()

Tombol L2.

ButtonR1

Controller.ButtonR1.pressing()

Tombol R1.

ButtonR2

Controller.ButtonR2.pressing()

Tombol R2.

Catatan#

  • Sebelum menggunakan fungsi anggota tombol button , buat objek pengontrol controller.

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

Fungsi Keanggotaan#

Kelas button mencakup fungsi anggota berikut:

Getter — Membaca status tombol.

  • pressing — Mengembalikan apakah tombol sedang ditekan.

Callback — Menjalankan fungsi saat terjadi peristiwa tombol.

  • pressed — Mendaftarkan fungsi yang akan dijalankan saat tombol ditekan.

  • released — Mendaftarkan fungsi yang akan dijalankan saat tombol dilepas.

Pencari#

mendesak#

Menekan pressing akan mengembalikan informasi apakah tombol sedang ditekan atau tidak.

Fungsi yang Tersedia

bool pressing() const;

Parameter

Fungsi ini tidak memiliki parameter.

Nilai Kembalian

Mengembalikan nilai Boolean.

  • true — Tombol sedang ditekan.

  • false — Tombol tidak ditekan.

Contoh

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

  wait(20, msec);
}

Panggilan balik#

ditekan#

pressed mendaftarkan fungsi yang berjalan saat tombol ditekan.

Fungsi yang Tersedia

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

Parameter

Jenis

Keterangan

callback

void (*)(void)

Sebuah fungsi yang dijalankan saat tombol ditekan.

Nilai Kembalian

Fungsi ini tidak mengembalikan nilai.

Contoh

Definisikan fungsi callback di luar main.

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

Daftarkan callback di dalam main.

int main() {
  vexcodeInit();

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

dilepaskan#

released mendaftarkan sebuah fungsi yang akan dijalankan saat tombol dilepas.

Fungsi yang Tersedia

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

Parameter

Jenis

Keterangan

callback

void (*)(void)

Sebuah fungsi yang dijalankan saat tombol dilepas.

Nilai Kembalian

Fungsi ini tidak mengembalikan nilai.

Contoh

Definisikan fungsi callback di luar main.

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

Daftarkan callback di dalam main.

int main() {
  vexcodeInit();

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