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

ആക്സസ്#
controller ക്ലാസ് ഇനിപ്പറയുന്ന ബട്ടൺ ഒബ്ജക്റ്റുകൾ നൽകുന്നു. ഓരോ ഒബ്ജക്റ്റും button ക്ലാസിന്റെ ഒരു ഉദാഹരണമാണ്.
വസ്തു |
ഉദാഹരണ ഉപയോഗം |
വിവരണം |
|---|---|---|
|
|
E ▼ ബട്ടൺ. |
|
|
E ▲ ബട്ടൺ. |
|
|
F ▼ ബട്ടൺ. |
|
|
F ▲ ബട്ടൺ. |
|
|
ഇടത് ജോയ്സ്റ്റിക്ക് ബട്ടൺ. IQ (രണ്ടാം തലമുറ) കൺട്രോളർ മാത്രം. |
|
|
L ▼ ബട്ടൺ. |
|
|
L ▲ ബട്ടൺ. |
|
|
വലത് ജോയ്സ്റ്റിക്ക് ബട്ടൺ. IQ (രണ്ടാം തലമുറ) കൺട്രോളർ മാത്രം. |
|
|
R ▼ ബട്ടൺ. |
|
|
R ▲ ബട്ടൺ. |
കുറിപ്പുകൾ#
buttonഅംഗ ഫംഗ്ഷൻ ഉപയോഗിക്കുന്നതിന് മുമ്പ്, ഒരുcontrollerഒബ്ജക്റ്റ് സൃഷ്ടിക്കുക.ButtonL3ഉംButtonR3IQ (രണ്ടാം തലമുറ) കൺട്രോളറിൽ മാത്രമേ ലഭ്യമാകൂ.
// 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);
}