Skip to main content
ILampArray 上所有的颜色更新函数都使用 LampArrayColor 结构来表示 RGBA 颜色值。 alpha 值 (LampArrayColor::a) 表示颜色的相对透明度,其中零表示完全透明,0xFF 表示完全不透明。如果使用的 alpha 值不是 0xFF,颜色将会与黑色进行额外的混合步骤。为了避免这一混合步骤,设置颜色时请勿传入除 0xFF 以外的 alpha 值。 为获得最佳性能与 Lamp 状态一致性,ILampArray 的 SetColor API 设计为从单个线程调用。

更新所有 Lamp

ILampArray::SetColor 方法将设备上所有 Lamp 的颜色更改为所需颜色。 以下示例注册一个 LampArray 回调,并设置每个连接设备的颜色。

定位单个 Lamp 或 Lamp 组

ILampArray::SetColorsForIndices 用于更新 LampArray 中的一个或多个 Lamp。传入此 API 的 Lamp 索引可以是任意顺序。 以下示例说明了如何在 LampArray 的所有 Lamp 上设置交替颜色。
以下示例展示如何为 LampArray 上的单个 Lamp 或 Lamp 组更新颜色。

使用键盘扫描代码定位 Lamp

ILampArray::SetColorsForScanCodes 提供了一种便捷的方法,用于设置 LampArray 键盘上特定按键的 Lamp 颜色。这可以用于在教程环境中帮助用户了解需要按哪些键,或在键盘上显示与游戏状态相关的信息。 以下示例说明了如何更改 LampArray 键盘上 WASD 键的 Lamp 颜色:

另请参阅

光照 API 概览 ILampArray 参考 LampArrayColor ILampArray::SetColor ILampArray::SetColorsForIndices ILampArray::SetColorsForScanCodes
最后修改于 2026年8月7日