단추#
소개#
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);
}