Ось#
Введение#
Класс axis является производным классом от класса controller. Он предоставляет доступ к значениям осей джойстика Controller и функциям обратного вызова для изменения осей джойстика.
Доступ к объекту с осью axis осуществляется через объект контроллера controller . Он не создается напрямую.

Доступ#
Класс контроллера controller осей. Каждый объект является экземпляром класса оси axis.
Объект оси |
Пример использования |
Описание |
|---|---|---|
|
|
Горизонтальная ось правого джойстика. |
|
|
Вертикальная ось правого джойстика. |
|
|
Вертикальная ось левого джойстика. |
|
|
Горизонтальная ось левого джойстика. |
Примечания#
Перед использованием функции-члена с осью
axisсоздайте объект контроллераcontroller.positionвозвращает значение от-100до100.
// Create a Controller object
controller Controller = controller();
Функции участников#
Класс axis включает следующие функции-члены:
Геттер — Считывает положение оси джойстика.
position— Возвращает положение оси джойстика.
Обратный вызов — Выполняет функцию при изменении положения джойстика вдоль оси.
changed— Выполняет функцию при изменении положения джойстика вдоль этой оси.
Геттер#
позиция#
position возвращает положение оси джойстика в виде значения от -100 до 100.
Доступная функция
int32_t position(percentUnits units = percentUnits::pct) const;
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Необязательный параметр. Единица измерения, используемая для возвращаемого значения оси. Значение по умолчанию — |
Возвращаемая стоимость
Возвращает значение int32_t от -100 до 100.
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 запускает функцию при изменении положения джойстика вдоль этой оси.
Доступная функция
void changed(void (* callback)(void)) const;
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Функция, которая будет выполняться каждый раз при изменении положения джойстика вдоль данной оси. |
Возвращаемая стоимость
Эта функция не возвращает значения.
Пример
Определите функцию обратного вызова вне блока main.
// Rumble when the left joystick moves
void controllerRumble() {
Controller.rumble(".");
}
Зарегистрируйте функцию обратного вызова внутри main.
int main() {
vexcodeInit();
// Run controllerRumble when the joystick's position changes along Axis4
Controller.Axis4.changed(controllerRumble);
}