Как сделать переход цвета фона с темно-красного на зеленый? - PullRequest
0 голосов
/ 15 апреля 2019

Я пытаюсь перевести таймер обратного отсчета (уже выяснили эту часть) из темно-красного в светло-зеленый за 5 секунд.

1 Ответ

0 голосов
/ 15 апреля 2019

Цвета могут быть представлены комбинацией 3 значений, каждое из которых находится в диапазоне от 0 до 255.Эти значения представляют значение цвета RGB.Первое число представляет «сколько» красного цвета в цвете, второе для зеленого и третье для синего.

Вот несколько примеров цветов RGB,

  • Pure Red =(255, 0, 0)
  • Чистый зеленый = (0, 255, 0)
  • Чистый синий = (0, 0, 255)
  • Черный = (0,0, 0)
  • Белый = (255, 255, 255)
  • Темный пурпурный = (100, 0, 100)
  • Голубой = (0, 200, 200)
  • Желтый = (255, 255, 0)

Вы можете создать цвет в Roblox, используя Color3 .Есть конструктор для простого преобразования цвета RGB в Color3 с Color3.fromRGB(number r, number g, number b).Так что если вы хотите перейти от темно-красного (50, 0, 0) к ярко-зеленому (100, 255, 100) за 5 секунд, вы можете использовать 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 значения из начальной точки в конец.Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...