gamepadEX:手柄扩展

概要

我们在询问过操作员后,发现按键按下、放开、一直按着和切换比较常用,所以封装了keyPresskeyDownkeyUpkeyToggle,简化了手柄按键的检测,并且实现了链式调用,让代码更加简洁、易懂。

路径

Teamcode/java/org.firsinspires.ftc.teamcode/ common / hardware / GamepadEx

具体介绍

参数列表

  • key: 检测的按键,与FTC SDK中手柄按键名称一致,String类型

  • Runnable: 要运行的函数,建议使用Lambda表达式Runnnable类型

update

每次定义手柄按键时都需要先运行一次,用来更新手柄状态。否则每次循环都会使用上次状态,无法判断按键状态。 示例代码

robot.gamepad1
    .update()//更新状态
    .<other methods>
;

keyPress

当按下key时,执行Runnable。注意:Runnablekey按下的期间会循环运行

示例代码

robot.gamepad1
    .update()
    .keyPress("a",Runnable)//按住a键
;

keyDown

当按下key时,执行Runnable。注意:Runnablekey按下的瞬间只运行一次

示例代码

robot.gamepad1
    .update()
    .keyDown("a",Runnable)//按下a键
;

keyUp

当按下key时,执行Runnable,并进行下一轮判断。注意:Runnablekey抬起的瞬间只运行一次

示例代码

robot.gamepad1
    .update()
    .keyUp("a",Runnable)//抬起a键
;

keyToggle

当按下key时,执行一次Runnable1的内容;再次按下key,执行一次Runnable2的内容,并如此循环。

示例代码

robot.gamepad1
    .update()
    .keyToggle("a",Runnable1, Runnable2)//按下a键切换
;

建议在切换的函数中增加遥测的信息显示以确认当前状态

Last updated