我想让我的 Roblox Studio 的文本按钮的颜色执行淡入淡出,但是出现错误

我使用 Lua Roblox,并尝试将文本按钮的颜色从蓝色变为橙色淡出并淡入,但是我的脚本出现了错误,我该怎么办?

代码:

game.StartedGui.ScreenGui.TextButton.Color = ””—- 我在这些括号中输入了橙色 —-
wait(.5)
game.StartedGui.ScreenGui.TextButton.Color = “”—- 我在这些括号中输入了蓝色 —-

它没有淡入淡出,颜色仍然是白色。此外,我该如何做循环,因为我不希望颜色停止改变。

点赞
用户1296374
用户1296374

如果我理解你的意思正确,你想让按钮背景颜色从蓝色渐变到橙色,然后再无限循环?请在 TextButton 下方放置以下 LocalScript。

local textButton = script.Parent

local color1 = Color3.fromRGB(128, 128, 255)    -- 蓝色

local color2 = Color3.fromRGB(218, 133, 65)     -- 橙色

local changeSpeed = 10      -- 增加此数值可以使速度变慢

spawn(function()
    local i = -1
    while true do
        for i=-1,1,1/changeSpeed do
            local f = math.abs(i)
            textButton.BackgroundColor3 = Color3.fromRGB(
                255 * (color1.r + (color2.r - color1.r) * f),
                255 * (color1.g + (color2.g - color1.g) * f),
                255 * (color1.b + (color2.b - color1.b) * f)
            )
            wait(0.05)
        end
    end
end)

更新:

...或者使用 Kylaaa 提到的非常酷的 Tween Service:

[...]
local changeSpeed = 1      -- 增加此数值可以使速度变慢

textButton.BackgroundColor3 = color1
local tw = game.TweenService:Create(textButton, TweenInfo.new(changeSpeed, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, -1, true), { BackgroundColor3 = color2 })
tw:Play()
2020-04-24 04:09:34
用户2858170
用户2858170
`TextButton` 没有 `Color` 属性。

请参考[https://developer.roblox.com/en-us/api-reference/class/TextButton](https://developer.roblox.com/en-us/api-reference/class/TextButton)。

不能通过在500毫秒的延迟中从一个颜色切换到另一个颜色来实现淡入淡出。您必须编写平滑过渡两种颜色之间的代码。

可以是 `BackgroundColor3` 或上面列出的任何其他颜色属性之一。

分配字符串没有太多意义,还可能导致错误。您必须分配 [Color3](https://developer.roblox.com/en-us/api-reference/datatype/Color3) 数据类型。
2020-04-24 12:46:33
用户19118263
用户19118263
game.StarterGui.ScreenGui.TextButton.BackgroundColor3 = Color3.fromRGB(color1)
wait(.5)
game.StarterGui.ScreenGui.TextButton.BackgroundColor3 = Color3.fromRGB(color2)

将上述代码翻译成中文并且保留原本的 markdown 格式:

game.StarterGui.ScreenGui.TextButton.BackgroundColor3 = Color3.fromRGB(color1) // 将游戏启动界面中的屏幕界面的文本按钮背景颜色设置为 color1
wait(.5) // 稍作延迟,等待 0.5 秒
game.StarterGui.ScreenGui.TextButton.BackgroundColor3 = Color3.fromRGB(color2) // 将游戏启动界面中的屏幕界面的文本按钮背景颜色设置为 color2
2022-05-14 22:38:48