控制器#

介绍#

IQ(第二代)Brain 可以连接到 IQ(第二代)或 IQ(第一代)控制器。两个控制器都配有两个模拟摇杆和多个按钮,Brain 可以使用它们来检测动作和按压。

以下是所有可用方法的列表:

方法——控制控制器的行为和输入。

  • .pressed – 按下指定按钮时调用一个函数。

  • .released – 当指定按钮被释放时调用一个函数。

  • .pressing – 返回指定按钮是否被按下。

  • .position – 返回操纵杆指定轴的位置。

  • .changed – 当操纵杆的轴改变时调用一个函数。

构造函数——手动初始化和配置控制器。#

.pressed#

.pressed 注册一个函数,当控制器上的特定按钮被按下时调用。此方法必须在特定的按钮对象上调用,例如 buttonEDown(请参阅下文按钮对象的完整列表)。

用法:
可以使用此方法使用其中一个可用的按钮对象,如下所示:

按钮

命令

按钮向下

controller.buttonEDown.pressed(callback, arg)E Down 按钮

按钮向上

controller.buttonEUp.pressed(callback, arg)E 向上 按钮

buttonFDown

controller.buttonFDown.pressed(callback, arg)F Down 按钮

buttonFUp

controller.buttonFUp.pressed(callback, arg)F 向上 按钮

buttonL3

controller.buttonL3.pressed(callback, arg)左操纵杆按钮 - 仅限 IQ(第二代)

buttonLDown

controller.buttonLDown.pressed(callback, arg)L 向下 按钮

buttonLUP

controller.buttonLUp.pressed(callback, arg)L 向上 按钮

buttonR3

controller.buttonR3.pressed(callback, arg)右操纵杆按钮 - 仅限 IQ(第二代)

buttonRDown

controller.buttonRDown.pressed(callback, arg)R 向下 按钮

按钮向上

controller.buttonRUp.pressed(callback, arg)R 向上 按钮

参数

描述

打回来

先前定义的在按下指定按钮时执行的 函数

arg

可选。包含要传递给回调函数的参数的元组。更多信息请参阅使用带参数的事件

# Example coming soon

.已发布#

.released 注册一个函数,当控制器上的特定按钮被释放时调用。此方法必须在特定的按钮对象上调用,例如 buttonEDown(请参阅下文按钮对象的完整列表)。

用法:
可以使用此方法使用其中一个可用的按钮对象,如下所示:

按钮

命令

按钮向下

controller.buttonEDown.released(callback, arg)E Down 按钮

按钮向上

controller.buttonEUp.released(callback, arg)E 向上 按钮

buttonFDown

controller.buttonFDown.released(callback, arg)F Down 按钮

buttonFUp

controller.buttonFUp.released(callback, arg)F 向上 按钮

buttonL3

controller.buttonL3.released(callback, arg)左操纵杆按钮 - 仅限 IQ(第二代)控制器

buttonLDown

controller.buttonLDown.released(callback, arg)L 向下 按钮

buttonLUP

controller.buttonLUp.released(callback, arg)L 向上 按钮

buttonR3

controller.buttonR3.released(callback, arg)右操纵杆按钮 - 仅限 IQ(第二代)控制器

buttonRDown

controller.buttonRDown.released(callback, arg)R 向下 按钮

按钮向上

controller.buttonRUp.released(callback, arg)R 向上 按钮

参数

描述

打回来

先前定义的在释放指定按钮时执行的 函数

arg

可选。包含要传递给回调函数的参数的元组。更多信息请参阅使用带参数的事件

# Example coming soon

。紧迫#

.pressing 返回一个整数,指示控制器上的特定按钮当前是否被按下。此方法必须在特定的按钮对象上调用,例如 buttonEDown(请参阅下面的按钮对象完整列表)。

  • 1-指定的按钮被按下。

  • 0——指定的按钮未被按下。

用法:
五个可用按钮对象之一可与此方法一起使用,如下所示:

按钮

命令

按钮向下

controller.buttonEDown.pressing()E Down 按钮

按钮向上

controller.buttonEUp.pressing()E 向上 按钮

buttonFDown

controller.buttonFDown.pressing()F Down 按钮

buttonFUp

controller.buttonFUp.pressing()F 向上 按钮

buttonL3

controller.buttonL3.pressing()左操纵杆按钮 - 仅限 IQ(第二代)控制器

buttonLDown

controller.buttonLDown.pressing()L 向下 按钮

buttonLUP

controller.buttonLUp.pressing()L 向上 按钮

buttonR3

controller.buttonR3.pressing()右操纵杆按钮 - 仅限 IQ(第二代)控制器

buttonRDown

controller.buttonRDown.pressing()R 向下 按钮

按钮向上

controller.buttonRUp.pressing()R 向上 按钮

参数

描述

该方法没有参数。

# Example coming soon

。位置#

.position 以 -100 到 100 之间的整数形式返回操纵杆指定轴的位置,表示百分比。此方法必须在特定的轴对象上调用,例如 axisA(请参阅下文的完整轴对象列表)。

用法:

此方法可使用四个可用轴之一,如下所示:

命令

axisA

controller.axisA.position()左操纵杆的垂直轴

axisB

controller.axisB.position()左操纵杆的水平轴

axisC

controller.axisC.position()右操纵杆的水平轴

axisD

controller.axisD.position()右操纵杆的垂直轴

参数

描述

该方法没有参数。

# Example coming soon

.已更改#

.changed 注册了一个函数,当操纵杆位置发生变化时调用。此方法必须在特定的轴对象上调用,例如 axisA(请参阅下文的完整轴对象列表)。

用法:
可以使用此方法的四个可用轴之一,如下所示:

命令

axisA

controller.axisA.changed(callback, arg)左操纵杆的垂直轴

axisB

controller.axisB.changed(callback, arg)左操纵杆的水平轴

axisC

controller.axisC.changed(callback, arg)右操纵杆的水平轴

axisD

controller.axisD.changed(callback, arg)右操纵杆的垂直轴

参数

描述

打回来

先前定义的 函数,当轴的值发生变化时执行。

arg

可选。包含要传递给回调函数的参数的元组。更多信息请参阅使用带参数的事件

# Function to display an emoji when the joystick is moved
def move_joystick():
    robot.screen.show_emoji(CONFUSED)

# Run the function when the joystick is moved up or down
controller.axis1.changed(move_joystick)

构造函数#

构造函数用于手动创建“控制器”对象,这对于在 VEXcode 之外配置控制器是必需的。

对于下面的示例,配置的控制器将被命名为“controller”,并且在整个 API 文档的所有后续示例中引用“Controller”类方法时将使用它。

控制器#

Controller 创建一个控制器。

用法:
Controller()

参数

描述

此构造函数没有参数。

# Example coming soon