বোতাম#

ভূমিকা#

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

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

V5 কন্ট্রোলারের সামনের এবং পিছনের দিক, যেখানে বাটনগুলো হলুদ রঙে হাইলাইট করা আছে। কন্ট্রোলারের উপরিভাগে বাম দিকে আপ, ডাউন, লেফট এবং রাইট অ্যারো বাটন এবং ডান দিকে ১২টা থেকে ঘড়ির কাঁটার দিকে X, A, B, Y বাটন রয়েছে। কন্ট্রোলারের পিছনের দিকে যথাক্রমে বাম এবং ডান পাশে L1, L2, R1, এবং R2 বাটন রয়েছে।

অ্যাক্সেস#

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

বস্তু

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

বর্ণনা

ButtonA

Controller.ButtonA.pressing()

A বোতাম।

ButtonB

Controller.ButtonB.pressing()

B বোতাম।

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);
}