ബട്ടൺ#
ആമുഖം#
button ക്ലാസ് controller ക്ലാസിന്റെ ഒരു ഡിറൈവ്ഡ് ക്ലാസാണ്. ഇത് കൺട്രോളർ ബട്ടൺ സ്റ്റേറ്റുകളിലേക്കും ബട്ടൺ ഇവന്റ് കോൾബാക്കുകളിലേക്കും ആക്സസ് നൽകുന്നു.
ഒരു button ഒബ്ജക്റ്റ് ഒരു controller ഒബ്ജക്റ്റ് വഴി ആക്സസ് ചെയ്യപ്പെടുന്നു. ഇത് നേരിട്ട് നിർമ്മിച്ചതല്ല.

ആക്സസ്#
controller ക്ലാസ് ഇനിപ്പറയുന്ന ബട്ടൺ ഒബ്ജക്റ്റുകൾ നൽകുന്നു. ഓരോ ഒബ്ജക്റ്റും button ക്ലാസിന്റെ ഒരു ഉദാഹരണമാണ്.
വസ്തു |
ഉദാഹരണ ഉപയോഗം |
വിവരണം |
|---|---|---|
|
|
A ബട്ടൺ. |
|
|
B ബട്ടൺ. |
|
|
താഴേക്ക് ബട്ടൺ. |
|
|
മുകളിലേക്കുള്ള ബട്ടൺ. |
|
|
L1 ബട്ടൺ. |
|
|
L2 ബട്ടൺ. |
|
|
L3 ബട്ടൺ. |
|
|
R1 ബട്ടൺ. |
|
|
R2 ബട്ടൺ. |
|
|
R3 ബട്ടൺ. |
കുറിപ്പുകൾ#
buttonഅംഗ ഫംഗ്ഷൻ ഉപയോഗിക്കുന്നതിന് മുമ്പ്, ഒരുcontrollerഒബ്ജക്റ്റ് സൃഷ്ടിക്കുക.
// Create a controller object
controller Controller = controller();
അംഗ പ്രവർത്തനങ്ങൾ#
button ക്ലാസ്സിൽ ഇനിപ്പറയുന്ന അംഗ ഫംഗ്ഷനുകൾ ഉൾപ്പെടുന്നു:
ഗെറ്റർ — ബട്ടൺ നില വായിക്കുക.
pressingഅമർത്തുന്നു — ബട്ടൺ അമർത്തുന്നുണ്ടോ എന്ന് നൽകുന്നു.
കോൾബാക്കുകൾ — ബട്ടൺ ഇവന്റുകൾ സംഭവിക്കുമ്പോൾ ഫംഗ്ഷനുകൾ പ്രവർത്തിപ്പിക്കുക.
ഗെറ്റർ#
pressing#
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#
pressed ബട്ടൺ അമർത്തുമ്പോൾ പ്രവർത്തിക്കുന്ന ഒരു ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.
ലഭ്യമായ പ്രവർത്തനം
void pressed(void (* callback)(void)) const;
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
ബട്ടൺ അമർത്തുമ്പോൾ പ്രവർത്തിക്കുന്ന ഒരു ഫംഗ്ഷൻ. |
റിട്ടേൺ മൂല്യം
ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.
ഉദാഹരണം
main ന് പുറത്തുള്ള കോൾബാക്ക് ഫംഗ്ഷൻ നിർവചിക്കുക.
// Drive forward when R1 is pressed
void driveForward() {
Drivetrain.driveFor(forward, 200, mm);
}
main നുള്ളിൽ കോൾബാക്ക് രജിസ്റ്റർ ചെയ്യുക.
int main() {
vexcodeInit();
// Run driveForward when R1 is pressed
Controller.ButtonR1.pressed(driveForward);
}
released#
released ബട്ടൺ റിലീസ് ചെയ്യുമ്പോൾ പ്രവർത്തിക്കുന്ന ഒരു ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.
ലഭ്യമായ പ്രവർത്തനം
void released(void (* callback)(void)) const;
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
ബട്ടൺ റിലീസ് ചെയ്യുമ്പോൾ പ്രവർത്തിക്കുന്ന ഒരു ഫംഗ്ഷൻ. |
റിട്ടേൺ മൂല്യം
ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.
ഉദാഹരണം
main ന് പുറത്തുള്ള കോൾബാക്ക് ഫംഗ്ഷൻ നിർവചിക്കുക.
// Stop the drivetrain when R1 is released
void stopDriving() {
Drivetrain.stop();
}
main നുള്ളിൽ കോൾബാക്ക് രജിസ്റ്റർ ചെയ്യുക.
int main() {
vexcodeInit();
// Run stopDriving when R1 is released
Controller.ButtonR1.released(stopDriving);
}