बटन#

परिचय#

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

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

IQ द्वितीय पीढ़ी के कंट्रोलर का आगे और पीछे का दृश्य, जिसमें सभी बटन पीले रंग से हाइलाइट किए गए हैं। कंट्रोलर की सतह पर ऊपरी बाएँ और दाएँ कोनों में दो जॉयस्टिक बटन हैं, बाएँ जॉयस्टिक के नीचे E ऊपर और नीचे और दाएँ जॉयस्टिक के नीचे F ऊपर और नीचे बटन हैं। कंट्रोलर के पीछे बाएँ और दाएँ ओर क्रमशः L ऊपर और नीचे और R ऊपर और नीचे बटन हैं।

पहुँच#

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

वस्तु

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

विवरण

ButtonEDown

Controller.ButtonEDown.pressing()

ई ▼ बटन।

ButtonEUp

Controller.ButtonEUp.pressing()

ई ▲ बटन।

ButtonFDown

Controller.ButtonFDown.pressing()

एफ ▼ बटन।

ButtonFUp

Controller.ButtonFUp.pressing()

एफ ▲ बटन।

ButtonL3

Controller.ButtonL3.pressing()

बायां जॉयस्टिक बटन। केवल IQ (दूसरी पीढ़ी) कंट्रोलर के लिए।

ButtonLDown

Controller.ButtonLDown.pressing()

L ▼ बटन।

ButtonLUp

Controller.ButtonLUp.pressing()

L ▲ बटन।

ButtonR3

Controller.ButtonR3.pressing()

दायां जॉयस्टिक बटन। केवल IQ (दूसरी पीढ़ी) कंट्रोलर के लिए।

ButtonRDown

Controller.ButtonRDown.pressing()

आर ▼ बटन।

ButtonRUp

Controller.ButtonRUp.pressing()

दायाँ बटन।

नोट्स#

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

  • ButtonL3 और ButtonR3 केवल IQ (दूसरी पीढ़ी) कंट्रोलर पर उपलब्ध हैं।

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

सदस्य कार्य#

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

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

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

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

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

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

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

pressing#

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

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

bool pressing() const;

पैरामीटर

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

वापसी मूल्य

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

  • 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;

पैरामीटर

प्रकार

विवरण

callback

void (*)(void)

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

वापसी मूल्य

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

उदाहरण

कॉलबैक फ़ंक्शन को 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;

पैरामीटर

प्रकार

विवरण

callback

void (*)(void)

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

वापसी मूल्य

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

उदाहरण

कॉलबैक फ़ंक्शन को 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);
}