बटन#

परिचय#

button क्लास controller क्लास की एक व्युत्पन्न क्लास है। यह कंट्रोलर बटन स्टेट्स और बटन इवेंट कॉलबैक तक पहुंच प्रदान करता है।

एक button controller के माध्यम से एक्सेस किया जाता है। इसे सीधे तौर पर कंस्ट्रक्ट नहीं किया जाता है।

एक्सपी कंट्रोलर का सामने और ऊपरी भाग, जिसमें जॉयस्टिक, तीर बटन और एक्शन बटन पीले रंग में हाइलाइट किए गए हैं। कंट्रोलर की सतह पर बाईं और दाईं ओर दो जॉयस्टिक हैं, बाईं ओर ऊपर और नीचे तीर बटन और दाईं ओर A और B बटन हैं। कंट्रोलर के ऊपरी भाग पर बाईं ओर L1 और L2 और दाईं ओर R1 और R2 हैं।

पहुँच#

controller क्लास निम्नलिखित बटन ऑब्जेक्ट प्रदान करती है। प्रत्येक ऑब्जेक्ट button क्लास का एक इंस्टेंस है।

वस्तु

उपयोग का उदाहरण

विवरण

ButtonA

Controller.ButtonA.pressing()

ए बटन।

ButtonB

Controller.ButtonB.pressing()

बी बटन।

ButtonDown

Controller.ButtonDown.pressing()

नीचे वाला बटन।

ButtonUp

Controller.ButtonUp.pressing()

ऊपर वाला बटन।

ButtonL1

Controller.ButtonL1.pressing()

L1 बटन।

ButtonL2

Controller.ButtonL2.pressing()

L2 बटन।

ButtonL3

Controller.ButtonL3.pressing()

L3 बटन।

ButtonR1

Controller.ButtonR1.pressing()

R1 बटन।

ButtonR2

Controller.ButtonR2.pressing()

R2 बटन।

ButtonR3

Controller.ButtonR3.pressing()

R3 बटन।

नोट्स#

  • button सदस्य फ़ंक्शन का उपयोग करने से पहले, controller ऑब्जेक्ट बनाएं।

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

सदस्य कार्य#

button क्लास में निम्नलिखित सदस्य फ़ंक्शन शामिल हैं:

गेटर — बटन की स्थिति पढ़ें।

  • pressing — लौटाता है कि बटन दबाया जा रहा है या नहीं।

कॉलबैक — बटन इवेंट होने पर फ़ंक्शन चलाते हैं।

  • pressed — बटन दबाए जाने पर चलने के लिए एक फ़ंक्शन पंजीकृत करता है।

  • released — बटन रिलीज़ होने पर चलने के लिए एक फ़ंक्शन को रजिस्टर करता है।

प्राप्त करनेवाला#

pressing#

pressing यह बताता है कि बटन वर्तमान में दबाया जा रहा है या नहीं।

उपलब्ध फ़ंक्शन

bool pressing() const;

पैरामीटर

इस फ़ंक्शन में कोई पैरामीटर नहीं है।

वापसी मूल्य

यह एक बूलियन मान लौटाता है।

  • true — बटन दबाया जा रहा है।

  • false — बटन दबाया नहीं जा रहा है।

उदाहरण

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

  wait(20, msec);
}

कॉलबैक#

pressed#

pressed एक फ़ंक्शन को पंजीकृत करता है जो बटन दबाए जाने पर चलता है।

उपलब्ध फ़ंक्शन

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

पैरामीटर

प्रकार

विवरण

callback

void (*)(void)

एक फ़ंक्शन जो बटन दबाने पर चलता है।

वापसी मूल्य

इस कार्य पर कीमत के लिहाज से कुछ भी रिटर्न नहीं मिलता है।

उदाहरण

कॉलबैक फ़ंक्शन को main के बाहर परिभाषित करें।

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

कॉलबैक को main के अंदर पंजीकृत करें।

int main() {
  vexcodeInit();

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

released#

released एक फ़ंक्शन को रजिस्टर करता है जो बटन रिलीज़ होने पर चलता है।

उपलब्ध फ़ंक्शन

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

पैरामीटर

प्रकार

विवरण

callback

void (*)(void)

एक फ़ंक्शन जो बटन छोड़े जाने पर चलता है।

वापसी मूल्य

इस कार्य पर कीमत के लिहाज से कुछ भी रिटर्न नहीं मिलता है।

उदाहरण

कॉलबैक फ़ंक्शन को main के बाहर परिभाषित करें।

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

कॉलबैक को main के अंदर पंजीकृत करें।

int main() {
  vexcodeInit();

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