বোতাম#
ভূমিকা#
button ক্লাসটি controller ক্লাসের একটি ডিরাইভড ক্লাস। এটি কন্ট্রোলার বাটনের স্টেট এবং বাটন ইভেন্ট কলব্যাকে অ্যাক্সেস প্রদান করে।
একটি বাটন button অবজেক্টকে একটি কন্ট্রোলার controller অবজেক্টের মাধ্যমে অ্যাক্সেস করা হয়। এটি সরাসরি কনস্ট্রাক্ট করা হয় না।

অ্যাক্সেস#
কন্ট্রোলার controller প্রতিটি অবজেক্ট হলো button ক্লাসের একটি ইনস্ট্যান্স।
বস্তু |
ব্যবহারের উদাহরণ |
বর্ণনা |
|---|---|---|
|
|
E ▼ বোতাম। |
|
|
E ▲ বাটন। |
|
|
F ▼ বোতাম। |
|
|
F ▲ বোতাম। |
|
|
বাম জয়স্টিকের বাটন। শুধুমাত্র IQ (২য় জেনারেশন) কন্ট্রোলারের জন্য। |
|
|
L ▼ বোতাম। |
|
|
L ▲ বোতাম। |
|
|
ডান জয়স্টিক বাটন। শুধুমাত্র IQ (২য় জেনারেশন) কন্ট্রোলারের জন্য। |
|
|
R ▼ বোতাম। |
|
|
R ▲ বাটনটি। |
নোট#
একটি
buttonমেম্বার ফাংশন ব্যবহার করার আগে, একটিcontrollerঅবজেক্ট তৈরি করুন।ButtonL3এবংButtonR3শুধুমাত্র IQ (২য় প্রজন্ম) কন্ট্রোলারে উপলব্ধ।
// Create a controller object
controller Controller = controller();
সদস্যদের কার্যাবলী#
button ক্লাসে নিম্নলিখিত মেম্বার ফাংশনগুলো অন্তর্ভুক্ত রয়েছে:
গেটার — রিড বাটনের অবস্থা।
pressing— বাটনটি চাপা হচ্ছে কিনা তা ফেরত দেয়।
কলব্যাক — বাটনের ইভেন্ট ঘটলে ফাংশনগুলো চালায়।
গেটার#
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;
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
একটি ফাংশন যা বাটন চাপলে চালু হয়। |
ফেরত মূল্য
এই ফাংশনটি কোনো মান ফেরত দেয় না।
উদাহরণ
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;
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
একটি ফাংশন যা বাটনটি ছেড়ে দিলে চালু হয়। |
ফেরত মূল্য
এই ফাংশনটি কোনো মান ফেরত দেয় না।
উদাহরণ
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);
}