বোতাম#

ভূমিকা#

button ক্লাসটি controller ক্লাসের একটি ডিরাইভড ক্লাস। এটি কন্ট্রোলার বাটনের স্টেট এবং বাটন ইভেন্ট কলব্যাকে অ্যাক্সেস প্রদান করে।

একটি বাটন button অবজেক্টকে একটি কন্ট্রোলার controller অবজেক্টের মাধ্যমে অ্যাক্সেস করা হয়। এটি সরাসরি কনস্ট্রাক্ট করা হয় না।

IQ 2nd gen কন্ট্রোলারের সামনের এবং পিছনের দিকের দৃশ্য যেখানে সমস্ত বোতাম হলুদ রঙে হাইলাইট করা হয়েছে। কন্ট্রোলারের উপরিভাগে উপরের বাম এবং ডান কোণে দুটি জয়স্টিক বোতাম রয়েছে, বাম জয়স্টিকের নিচে E আপ এবং ডাউন এবং ডান জয়স্টিকের নিচে F আপ এবং ডাউন। কন্ট্রোলারের পিছনে যথাক্রমে বাম এবং ডান দিকে L আপ এবং ডাউন এবং R আপ এবং ডাউন বোতাম রয়েছে।

অ্যাক্সেস#

কন্ট্রোলার controller প্রতিটি অবজেক্ট হলো button ক্লাসের একটি ইনস্ট্যান্স।

বস্তু

ব্যবহারের উদাহরণ

বর্ণনা

ButtonEDown

Controller.ButtonEDown.pressing()

E ▼ বোতাম।

ButtonEUp

Controller.ButtonEUp.pressing()

E ▲ বাটন।

ButtonFDown

Controller.ButtonFDown.pressing()

F ▼ বোতাম।

ButtonFUp

Controller.ButtonFUp.pressing()

F ▲ বোতাম।

ButtonL3

Controller.ButtonL3.pressing()

বাম জয়স্টিকের বাটন। শুধুমাত্র IQ (২য় জেনারেশন) কন্ট্রোলারের জন্য।

ButtonLDown

Controller.ButtonLDown.pressing()

L ▼ বোতাম।

ButtonLUp

Controller.ButtonLUp.pressing()

L ▲ বোতাম।

ButtonR3

Controller.ButtonR3.pressing()

ডান জয়স্টিক বাটন। শুধুমাত্র IQ (২য় জেনারেশন) কন্ট্রোলারের জন্য।

ButtonRDown

Controller.ButtonRDown.pressing()

R ▼ বোতাম।

ButtonRUp

Controller.ButtonRUp.pressing()

R ▲ বাটনটি।

নোট#

  • একটি 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);
}