油门杆 2

油门杆 2 安装在控制台上,是总距杆类型:手柄绕枢轴(模型空间 (4,2,8))旋转而不是平移。角度连续可调,范围 0°(最底端,放置默认)~ +30°(满偏上抬)。
它全占桌顶 6×14 棋盘网格(唯一合法放置中心
(8,12),只能 0°/180° 旋转)——与油门杆、监视器 2 互斥(同一时刻只能安装其中一个)。
角度控制
- 按住上抬键(默认
空格)手柄上升(角度 +);按住下拉键(默认左Ctrl)手柄下降(角度 −)。 - 满偏时间(tick):按住按键到满偏 +30° 所需时间 —— 默认 20,范围 1..100(20 tick = 1 秒)。按住期间每 tick 推进
30° / 满偏时间。 - 松开按键后的行为由回正开关决定:
- 回正关闭(默认):手柄锁存不回正 —— 类似物理总距杆,停在当前位置。
- 回正开启:手柄按回正时间速率(默认 2 tick,范围 0..100,
0= 关闭回正)线性回到中位 15°(30° 的一半)。
按键绑定
| 动作 | 默认按键 |
|---|---|
| 上抬(角度 +) | 空格 |
| 下拉(角度 −) | 左Ctrl |
两个按键绑定、满偏时间与回正开关/回正时间都跟随控制台,可在模块设置菜单中配置(打开控制台配置菜单,点击「油门杆 2」行)。它们与普通油门杆的绑定相互独立 —— 两个控件可以分别安装在不同的控制台上、各自配置。
Lua API
local ss = require("ccpe.sensor_system")
local desk = ss.getPeripheral(4)
local th2 = desk.getModule("throttle_2") -- 未安装油门杆 2 返回 nil
th2.getAxis()
返回归一化的拉杆位置(数值,0..1)= 角度 / 30°:0 = 最底端(放置默认),1 = 满偏上抬。
th2.getCenterAxis()
返回相对中位 15° 的拉杆位置(数值,-1..1)= (角度 − 15°) / 15°:-1 = 最底端(0°),0 = 中位(15°,回正模式松开后的落点),+1 = 满偏上抬(30°)。回正开关开启时最有用。
th2.setAngle(degrees)
直接设置拉杆角度(度,0..30,越界自动钳位)。在游戏主线程运行(mainThread = true),写入服务端权威角度并广播。
注意:玩家坐在联动坐垫上操作(输入租约有效)时,服务端每 tick 模拟会按按键继续推进角度,覆盖本设置;无玩家输入(回正关闭 = 锁存)时本设置保持到下次按键/回正。
所有读取方法都是 mainThread = false(跑在 CC worker 线程),可以高频轮询。