Lua 脚本控制 RGB 灯

我最近下载了一款 RGB 程序,用于控制电脑中的 LED 灯。这个程序可以让你创建灯光脚本。我想创建类似于这个(渐变循环色彩)的效果,但是由于我以前没有写过 Lua 代码,所以我只能从其他示例脚本中学习。这是我目前的代码:

-- 变量

local delay = 10 -- 这是更新速率,以毫秒为单位
local colour_step = 1.1

--
Lighting.SetStepDuration(200)
Lighting.SetFlashingSpeed(0)
Lighting.SetBreathingModeEnabled(false)

--local r = 15
--local g = 0
--local b = 0

local r, g, b = Lighting.ColourUtils.HSVtoRGB(0, 0.0933, 1)

while true do
    if r > 0 and b == 0 then
        r = r - 1
    g = g + 1
    end
    if g > 0 and r == 0 then
        g = g - 1
    b = b + 1
    end
    if b > 0 and g == 0 then
        b = b - 1
    r = r + 1
    end

    r = tonumber(("%x"):format(r * 15), 16)
    g = tonumber(("%x"):format(g * 15), 16)
    b = tonumber(("%x"):format(b * 15), 16)

    Lighting.BatchBegin()
    for i = 1, 8 do
        Lighting.SetColour(i, r, g, b)
    end
    Lighting.BatchEnd()
    os.sleep(delay)
end'

这会出现以下错误:

bad argument #2 to 'SetColour' (value is out of range (range is 0x0-0xF))

如果有帮助,我将不胜感激。先谢谢了。

点赞
用户1442917
用户1442917

我认为错误很明显:颜色的可接受值范围是 0-15,但你传递的值超出了这个范围。看起来你可以简单地删除 r = tonumber(("%x"):format(r * 15), 16) 这一行(行),因为它与 r = r * 15 相同,在你的情况下可能不需要。

2019-12-04 17:47:42