【问题标题】:Roblox Studio: frame not fading outRoblox Studio:框架没有淡出
【发布时间】:2019-05-20 03:16:40
【问题描述】:

我正在 Roblox Studio 中制作主菜单。当我按下播放时,它会向下移动,但背景不会淡出。

这是我的代码:

--Define variables

local button = script.Parent
local frame = button.Parent

local function fadeOut(object)
for newTrans = 0, 1, 0.1 do
        wait(0.1)
        object.BackgroundTransparency = newTrans
    end
end

button.MouseButton1Click:Connect(function()

--Get positions
local xScale = button.Position.X.Scale
local yScale = -1
local xOffset = button.Position.X.Offset
local yOffset = button.Position.Y.Offset

--New position
local newPos = UDim2.new(xScale, xOffset, yScale, yOffset)

--Indicate when the tweening is finished
local done = false

local function ended()
    done = true
end

--Tween button
button:TweenPosition(newPos, "Out", "Quad", 1, true, ended)

--Wait for tweening
repeat
    wait(0.1)
until done

    --Fade out the frame
    fadeOut(frame)
end)

淡出的代码在顶部,上面写着:local function fadeOut(object)

在该函数中会发生淡出。

感谢您的提前,

杰西

【问题讨论】:

    标签: button roblox


    【解决方案1】:

    如果你有一个回调函数要在补间完成后调用,为什么不在你的ended 函数中调用fadeOut

    -- Tween button
    local allowOverride = false
    button:TweenPosition(newPos, "Out", "Quad", 1, allowOverride, function()
    
        local frame = button.Parent
        print("Finished tweening button. Fading out ", frame.Name)
    
        -- next, tween the transparency
        fadeOut(frame)
    
        print("Done fading out , " frame.Name)
    end)
    

    您提供的代码示例将true 传递给allowOverride。根据https://developer.roblox.com/api-reference/function/GuiObject/TweenPosition 的说法,这可能允许另一个正在为位置设置动画的补间取消按钮的 TweenPosition 调用,这将阻止ended() 被调用。所以你的循环永远不会结束。

    希望这有帮助!

    【讨论】:

    • 我尝试让我的代码示例修改您为按钮提供的代码:TweenPosition 代码。如果您收到 BackgroundTransparency is not a valid value for ScreenGui 的错误,可能是 button.Parent 不是框架。尝试将打印语句更改为:print("Finished tweening button. Fading out ", frame.Name, ",", frame.ClassName) 这将告诉您帧变量实际上是什么。
    【解决方案2】:

    这篇文章被取消了,因为我对播放按钮有了一个新的想法。

    非常感谢,真的很抱歉,

    杰西

    【讨论】:

      猜你喜欢
      • 2021-03-08
      • 2020-08-07
      • 2015-12-22
      • 1970-01-01
      • 2015-07-23
      • 2019-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多