LinearOpMode与OpMode#

FTC® SDK中有两个OpMode类: OpModeLinearOpMode 。你使用的类会影响你编写程序的方式。有关如何使用OpMode和LinearOpMode的示例, 请参阅SDK中的OpModes示例

LinearOpMode方法#

  • runOpMode():按下INIT按钮后,此方法中的代码将只运行一次。这是你应该放置OpMode的所有代码的地方。

  • waitForStart():此方法暂停操作模式,直到你按下驱动程序站上的START按钮。

  • isStarted():如果按下了START按钮,则返回 true,否则返回 false

  • isStopRequest():如果按下了STOP按钮,则返回 true,否则返回 false

  • idle():调用 Thread.yield,允许相同优先级的其他线程运行。

  • opModeIsActive():返回 isStarted() && ! isStopRequest() 并调用 idle()

  • opModeInit():返回 !isStarted() && ! isStopRequest() 并且不调用 idle()

OpMode方法#

  • init():在你按下驱动程序站上的INIT按钮后,此方法中的代码将只运行一次。

  • init_loop():运行 init() 中的代码后,此方法中的代码将持续运行,直到驱动程序站上按下START按钮。

  • start():此方法中的代码将在你按下驱动程序站上的START按钮后运行一次。

  • loop():一旦运行 start() 中的代码,此方法中的代码将连续运行,直到驱动程序站上按下STOP按钮。

  • stop():此方法中的代码将在你按下驱动程序站上的STOP按钮后运行一次。

备注

从SDK版本8.1开始,当执行 OpMode 时,调用 loop() 之间的延迟可以忽略不计。以前,它有不可预测的延迟,但是从8.1开始,它的性能类似于 LinearOpMode

结论#

总的来说,使用 LinearOpModeOpMode 取决于偏好。 Game Manual 0 在任何地方都使用 LinearOpMode 以保持一致性。