زر#
مقدمة#
يُعدّ الصنف button صنفًا مشتقًا من الصنف controller. وهو يوفر إمكانية الوصول إلى حالات أزرار وحدة التحكم ووظائف رد نداء أحداث الأزرار.
يتم الوصول إلى عنصر button من خلال عنصر وحدة التحكم controller مباشر.

وصول#
توفر فئة controller كائنات الأزرار التالية. كل كائن هو نسخة من فئة الزر button
هدف |
مثال على الاستخدام |
وصف |
|---|---|---|
|
|
زر E ▼. |
|
|
زر E ▲. |
|
|
زر F ▼. |
|
|
زر F ▲. |
|
|
زر عصا التحكم اليسرى. خاص بوحدة تحكم IQ (الجيل الثاني) فقط. |
|
|
زر L ▼. |
|
|
زر L ▲. |
|
|
زر عصا التحكم اليمنى. خاص بوحدة تحكم IQ (الجيل الثاني) فقط. |
|
|
زر R ▼. |
|
|
زر R ▲. |
ملحوظات#
قبل استخدام دالة العضو
button، قم بإنشاء كائنcontroller.الزر
ButtonL3والزرButtonR3متوفران فقط على وحدة التحكم IQ (الجيل الثاني).
// Create a controller object
controller Controller = controller();
الدوال الأعضاء#
تتضمن فئة الزر button الدوال الأعضاء التالية:
دالة الوصول — قراءة حالة الزر.
pressing— تُرجع ما إذا كان الزر قيد الضغط.
الوظائف المستدعاة — تشغيل الوظائف عند وقوع أحداث الزر.
المحصل#
pressing#
الضغط على pressing يُظهر ما إذا كان الزر مضغوطًا حاليًا أم لا.
الوظائف المتاحة
bool pressing() const;
حدود
هذه الدالة لا تحتوي على معلمات.
القيمة المُعادة
يُرجع قيمة منطقية (Boolean).
true— يتم الضغط على الزر.false— الزر غير مضغوط.
مثال
// Turn right while R Up is pressed
while (true) {
if (Controller.ButtonRUp.pressing()) {
Drivetrain.turn(right);
}
else {
Drivetrain.stop();
}
wait(20, msec);
}
معاودة الاتصال#
pressed#
pressed يسجل وظيفة يتم تشغيلها عند الضغط على الزر.
الوظائف المتاحة
void pressed(void (* callback)(void)) const;
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
دالة يتم تشغيلها عند الضغط على الزر. |
القيمة المُعادة
هذه الدالة لا تُرجع قيمة.
مثال
قم بتعريف دالة الاستدعاء خارج الدالة الرئيسية main.
// Drive forward when F Up is pressed
void driveForward() {
Drivetrain.driveFor(forward, 100, mm);
}
قم بتسجيل رد الاتصال داخل main.
int main() {
vexcodeInit();
// Run driveForward when F Up is pressed
Controller.ButtonFUp.pressed(driveForward);
}
released#
released يسجل وظيفة يتم تشغيلها عند تحرير الزر.
الوظائف المتاحة
void released(void (* callback)(void)) const;
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
دالة يتم تشغيلها عند تحرير الزر. |
القيمة المُعادة
هذه الدالة لا تُرجع قيمة.
مثال
قم بتعريف دالة الاستدعاء خارج الدالة الرئيسية main.
// Stop the drivetrain when F Up is released
void stopDriving() {
Drivetrain.stop();
}
قم بتسجيل رد الاتصال داخل main.
int main() {
vexcodeInit();
// Run stopDriving when F Up is released
Controller.ButtonFUp.released(stopDriving);
}