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 atas Pengontrol EXP dengan joystick, tombol panah, dan tombol aksi yang disorot dengan warna kuning. Di permukaan pengontrol terdapat dua joystick di kiri dan kanan, dengan tombol panah atas dan bawah di sebelah kiri dan tombol A dan B di sebelah kanan. Di bagian atas pengontrol terdapat L1 dan L2 di sisi kiri dan R1 dan R2 di sisi 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.

ButtonDown

Controller.ButtonDown.pressing()

Tombol Bawah.

ButtonUp

Controller.ButtonUp.pressing()

Tombol Naik.

ButtonL1

Controller.ButtonL1.pressing()

Tombol L1.

ButtonL2

Controller.ButtonL2.pressing()

Tombol L2.

ButtonL3

Controller.ButtonL3.pressing()

Tombol L3.

ButtonR1

Controller.ButtonR1.pressing()

Tombol R1.

ButtonR2

Controller.ButtonR2.pressing()

Tombol R2.

ButtonR3

Controller.ButtonR3.pressing()

Tombol R3.

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#

pressing#

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#

pressed#

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

Daftarkan callback di dalam main.

int main() {
  vexcodeInit();

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

released#

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

Daftarkan callback di dalam main.

int main() {
  vexcodeInit();

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