ROBLOX Studio ScreenGui 分数展示
ROBLOX Studio ScreenGui score display
如何对变量进行 TextLabel
的文本更新?
我试过将文本设置为 "score: ", _G.score
但它不会随变量更新,是的,我确实在变量更新后设置了文本。
代码:
script.Parent.mouseClick:connect(function()
_G.score = _G.score + 1
game.StarterGui.ScreenGui.TextLabel.Text = _G.score
end)
game.StarterGui
实际上是一个模板GUI,每次玩家加入游戏时,都会制作一个副本并赠送给新玩家。因此,如果您尝试修改它,您实际上不会修改提供给所有玩家的副本。
这个问题有两种解决方法:
- 只使用相对路径——也就是说,只使用以“
script.
”开头的 GUI 对象的路径,就像你说的 script.Parent.mouseClick:connect(…)
。
- 遍历已分发给玩家的所有副本。这可以在每个
Player
对象的 .PlayerGui
下找到。
你几乎不应该做后者。您可以通过以下方式做出决定:
如果您的代码在 StarterGui
中找到(而不是在工作区或其他地方),那么您应该使用前者。这是因为当 StarterGui
被复制到新玩家的 GUI 中(称为 PlayerGui
)时,该脚本将与其一起被复制,因为它在 StarterGui
中。因此,像 script.Parent.Something.SomethingElse.Text = "hi"
这样的相对路径是有效的;它会影响 that PlayerGui
.
如果您在 StarterGui
中有一些 而不是 的代码(就像它在工作区中一样),那么您必须使用后者。这是因为这样的脚本不会被复制到每个玩家的 PlayerGui
中。因此,您必须在 for 循环或类似的东西中遍历每个玩家的 PlayerGui
。这种情况很少见,如果有的话,请考虑尽可能避免这种情况,因为这是一个非常棘手的情况,需要尝试处理;您必须考虑特殊情况,例如玩家尚未获得 StarterGui
副本的可能性。
请让我知道这个解释是否有任何混淆之处;我会尽力解释得更好。
您可以在此处找到一些视觉效果来配合此解释,并进一步阅读官方 ROBLOX Wiki 对此主题的解释:"Player vs. Starter GUIs".
如何对变量进行 TextLabel
的文本更新?
我试过将文本设置为 "score: ", _G.score
但它不会随变量更新,是的,我确实在变量更新后设置了文本。
代码:
script.Parent.mouseClick:connect(function()
_G.score = _G.score + 1
game.StarterGui.ScreenGui.TextLabel.Text = _G.score
end)
game.StarterGui
实际上是一个模板GUI,每次玩家加入游戏时,都会制作一个副本并赠送给新玩家。因此,如果您尝试修改它,您实际上不会修改提供给所有玩家的副本。
这个问题有两种解决方法:
- 只使用相对路径——也就是说,只使用以“
script.
”开头的 GUI 对象的路径,就像你说的script.Parent.mouseClick:connect(…)
。 - 遍历已分发给玩家的所有副本。这可以在每个
Player
对象的.PlayerGui
下找到。
你几乎不应该做后者。您可以通过以下方式做出决定:
如果您的代码在 StarterGui
中找到(而不是在工作区或其他地方),那么您应该使用前者。这是因为当 StarterGui
被复制到新玩家的 GUI 中(称为 PlayerGui
)时,该脚本将与其一起被复制,因为它在 StarterGui
中。因此,像 script.Parent.Something.SomethingElse.Text = "hi"
这样的相对路径是有效的;它会影响 that PlayerGui
.
如果您在 StarterGui
中有一些 而不是 的代码(就像它在工作区中一样),那么您必须使用后者。这是因为这样的脚本不会被复制到每个玩家的 PlayerGui
中。因此,您必须在 for 循环或类似的东西中遍历每个玩家的 PlayerGui
。这种情况很少见,如果有的话,请考虑尽可能避免这种情况,因为这是一个非常棘手的情况,需要尝试处理;您必须考虑特殊情况,例如玩家尚未获得 StarterGui
副本的可能性。
请让我知道这个解释是否有任何混淆之处;我会尽力解释得更好。
您可以在此处找到一些视觉效果来配合此解释,并进一步阅读官方 ROBLOX Wiki 对此主题的解释:"Player vs. Starter GUIs".