ബട്ടൺ#
ആമുഖം#
button ക്ലാസ് controller ക്ലാസിന്റെ ഒരു ഡിറൈവ്ഡ് ക്ലാസാണ്. ഇത് കൺട്രോളർ ബട്ടൺ സ്റ്റേറ്റുകളിലേക്കും ബട്ടൺ ഇവന്റ് കോൾബാക്കുകളിലേക്കും ആക്സസ് നൽകുന്നു.
ഒരു button ഒബ്ജക്റ്റ് ഒരു controller ഒബ്ജക്റ്റ് വഴി ആക്സസ് ചെയ്യപ്പെടുന്നു. ഇത് നേരിട്ട് നിർമ്മിച്ചതല്ല.
IQ (ഒന്നാം തലമുറ) കൺട്രോളറിന് എട്ട് പ്രധാന ബട്ടൺ ഒബ്ജക്റ്റുകൾ ഉണ്ട്. ഒരു IQ (രണ്ടാം തലമുറ) കൺട്രോളർ IQ (ഒന്നാം തലമുറ) ബ്രെയിനുമായി ബന്ധിപ്പിച്ചിട്ടുണ്ടെങ്കിൽ, ജോയ്സ്റ്റിക്ക് ബട്ടണുകൾ ButtonL3 ഉം ButtonR3 ഉം ഉപയോഗിക്കാം.

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