중심선#
소개#
axis 클래스는 controller 클래스의 파생 클래스입니다. 컨트롤러 조이스틱 축 값과 조이스틱 축 변경 콜백에 대한 액세스를 제공합니다.
axis 객체는 controller 객체를 통해 접근됩니다. 직접 생성되지는 않습니다.

입장#
controller 클래스는 다음과 같은 축 객체를 제공합니다. 각 객체는 axis 클래스의 인스턴스입니다.
축 객체 |
사용 예시 |
설명 |
|---|---|---|
|
|
오른쪽 조이스틱 수평축. |
|
|
오른쪽 조이스틱의 수직축. |
|
|
왼쪽 조이스틱의 수직축. |
|
|
왼쪽 조이스틱 수평축. |
메모#
axis멤버 함수를 사용하기 전에controller객체를 생성하십시오.position-100부터100까지의 값을 반환합니다.
// Create a controller object
controller Controller = controller();
회원 기능#
axis 클래스에는 다음과 같은 멤버 함수가 포함됩니다.
게터 — 조이스틱 축 위치를 읽습니다.
position— 조이스틱 축의 위치를 반환합니다.
콜백 함수 — 조이스틱의 위치가 축을 따라 변경될 때 함수를 실행합니다.
changed— 조이스틱의 위치가 해당 축을 따라 변경될 때 함수를 실행합니다.
얻는 사람#
position#
position 조이스틱 축의 위치를 -100 부터 100 까지의 값으로 반환합니다.
사용 가능한 기능
int32_t position(percentUnits units = percentUnits::pct) const;
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
선택 사항입니다. 반환되는 축 값에 사용되는 단위입니다. 기본값은 |
반환 값
-100 부터 100 까지의 int32_t 값을 반환합니다.
100— 조이스틱 축이 양의 방향으로 완전히 움직입니다.0— 조이스틱 축이 중앙에 위치합니다.-100— 조이스틱 축이 음의 방향으로 완전히 움직입니다.
예
// Turn with the left joystick
while (true) {
if (Controller.Axis4.position() > 10) {
Drivetrain.turn(right);
}
else if (Controller.Axis4.position() < -10) {
Drivetrain.turn(left);
}
else {
Drivetrain.stop();
}
wait(20, msec);
}
콜백#
changed#
changed 조이스틱의 위치가 해당 축을 따라 변경될 때 함수를 실행합니다.
사용 가능한 기능
void changed(void (* callback)(void)) const;
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
조이스틱의 위치가 해당 축을 따라 변경될 때마다 실행되는 함수입니다. |
반환 값
이 함수는 값을 반환하지 않습니다.
예
콜백 함수를 main 외부에서 정의하십시오.
// Play a sound when the left joystick moves
void playSound() {
Brain.playSound(siren);
}
main 내부에 콜백을 등록합니다.
int main() {
vexcodeInit();
// Run playSound when the joystick's position changes along Axis4
Controller.Axis4.changed(playSound);
}