बटन#

परिचय#

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

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

V5 कंट्रोलर का आगे और पीछे का भाग, जिसमें बटन पीले रंग से हाइलाइट किए गए हैं। कंट्रोलर की सतह पर बाईं ओर ऊपर, नीचे, बाएँ और दाएँ तीर के बटन हैं, और दाईं ओर 12 बजे से दक्षिणावर्त दिशा में X, A, B, Y बटन हैं। कंट्रोलर के पीछे की ओर बाईं और ओर क्रमशः L1, L2, R1 और R2 बटन हैं।

पहुँच#

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

वस्तु

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

विवरण

ButtonA

Controller.ButtonA.pressing()

ए बटन।

ButtonB

Controller.ButtonB.pressing()

बी बटन।

ButtonX

Controller.ButtonX.pressing()

X बटन।

ButtonY

Controller.ButtonY.pressing()

Y बटन।

ButtonDown

Controller.ButtonDown.pressing()

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

ButtonUp

Controller.ButtonUp.pressing()

ऊपर वाला बटन।

ButtonLeft

Controller.ButtonLeft.pressing()

बायां बटन।

ButtonRight

Controller.ButtonRight.pressing()

दायाँ बटन।

ButtonL1

Controller.ButtonL1.pressing()

L1 बटन।

ButtonL2

Controller.ButtonL2.pressing()

L2 बटन।

ButtonR1

Controller.ButtonR1.pressing()

R1 बटन।

ButtonR2

Controller.ButtonR2.pressing()

R2 बटन।

नोट्स#

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

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

सदस्य कार्य#

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

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

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

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

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

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

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

दबाना#

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 एक फ़ंक्शन को पंजीकृत करता है जो बटन दबाए जाने पर चलता है।

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

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

पैरामीटर

प्रकार

विवरण

callback

void (*)(void)

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

वापसी मूल्य

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

उदाहरण

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

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

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

int main() {
  vexcodeInit();

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

जारी किया#

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

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

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

पैरामीटर

प्रकार

विवरण

callback

void (*)(void)

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

वापसी मूल्य

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

उदाहरण

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

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

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

int main() {
  vexcodeInit();

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