Roblox ScreenGUI 问题

Roblox ScreenGUI problems

我想知道我是否必须做些什么才能在游戏中更改 GUI 的文本。因为我的问题是我正在制作一个经过 "Round in progress"、"Game Over"、"Intermission"、"Voting in progress," 然后永远重复的计时器。但是文本本身卡在了 Round In Progress 上。在整个计时器期间,标签属性中的文本值会发生变化,但屏幕 GUI 上的文本不会发生变化

我每次都用同样的方法更改文本:

status.Text = "Game over"

然后我会让计时器走大约 5 秒,然后再更改它:

status.Text = "Intermission"

以此类推...

这是完整的代码:

local rep = game:GetService("ReplicatedStorage")
local players = game:GetService("Players")
local minutesvalue = rep:WaitForChild("Minutes")
local secondsvalue = rep:WaitForChild("Seconds")
local minutes = 0 --minutes
local seconds = 11 --seconds
local status = game.StarterGui.Status:WaitForChild("Status")

while true do
    status.Text = "Round In Progress"
    minutesvalue.Value = minutes
    secondsvalue.Value = seconds

    repeat
        if secondsvalue.Value <= 0 then
            minutesvalue.Value = minutesvalue.Value - 1
            secondsvalue.Value = 59
        else
            secondsvalue.Value = secondsvalue.Value - 1
        end
        wait(1)
    until secondsvalue.Value <= 0 and minutesvalue.Value <= 0

    status.Text = "Game Over!"

    wait(5)

    status.Text = "Intermission"
    secondsvalue.Value = 15

    repeat
        secondsvalue.Value = secondsvalue.Value - 1
        wait(1)
    until secondsvalue.Value <= 0 and minutesvalue.Value <= 0

    status.Text = "Voting In Progress"

    secondsvalue.Value = 10
    repeat
        secondsvalue.Value = secondsvalue.Value - 1
        wait(1)
    until secondsvalue.Value <= 0 and minutesvalue.Value <= 0
    status.Text = "Loading Map..."

end

计时器和状态是独立的 GUI。 我把它分开了,希望它能起作用,但它没有。

因为你是在 StarterGui 中做的,我敢肯定,在播放器 PlayerGui 中做所以替换:

local status = game.StarterGui.Status:WaitForChild("Status")

与:

local status = players[plr].PlayerGui:WaitForChild("Status")

(定义 plr)