我正在尝试在5秒钟内从深红色过渡到浅绿色的倒数计时器(已经弄清了那部分)。
答案 0 :(得分:0)
颜色可以由3个值的组合表示,每个值的范围是0-255。这些值代表颜色的RGB值。第一个数字代表颜色中的红色“多少”,第二个代表绿色,第三个代表蓝色。
以下是RGB颜色的一些示例,
您可以使用Color3在Roblox中构造颜色。有一个构造函数可以使用Color3.fromRGB(number r, number g, number b)
轻松地将RGB颜色转换为Color3。因此,如果您希望在5秒钟内从深红色(50,0,0)变为明亮绿色(100,255,100),可以使用Color3:lerp(Color3 targetColor, number alpha)
。
local startingColor = Color3.fromRGB(50, 0, 0) -- dark red
local targetColor = Color3.fromRGB(100, 255, 100) -- bright green
local testBrick = Instance.new("Part", game.workspace)
testBrick.Color = startingColor
-- make a loop to change the color, lerp() expects a number between 0 - 1.
local timeToComplete = 5.0 -- seconds
local framesPerSecond = 60.0
local waitAmt = 1.0 / framesPerSecond
local stepAmt = 1.0 / (timeToComplete * framesPerSecond)
local i = 0.0
while (i < 1.0)
testBrick.Color = startingColor:lerp(targetColor, i)
i = i + stepAmt
wait(waitAmt)
end
-- by now the color should be close to the target color, ensure it is done
testBrick.Color = targetColor
在引擎盖下,这只是做一些简单的线性代数,将3个值从起点转换为终点。希望这会有所帮助。