You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Roblox Studio中代码更新文本后不显示问题求助

解决Roblox Luau点击游戏中文本不更新的问题

你遇到的问题核心是错误修改了StarterGui模板,而非玩家实际运行中的界面。StarterGui只是游戏启动时给玩家复制界面的模板,运行后每个玩家的实际交互界面都存放在PlayerGui里,修改StarterGui不会同步到当前玩家的界面上。

修正后的代码

local clicks = 0
-- 获取当前玩家的PlayerGui
local player = game.Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
-- 获取要更新的文本标签(用WaitForChild避免加载顺序问题)
local textLabel = playerGui:WaitForChild("ScreenGui"):WaitForChild("e")

script.Parent.MouseButton1Click:Connect(function()
    clicks = clicks + 1
    -- 把数字转为字符串后赋值给Text属性(显式转换更稳妥)
    textLabel.Text = tostring(clicks)
    print(clicks)
end)

关键注意点

  • 必须使用PlayerGui:游戏运行时,玩家看到的界面是StarterGui复制到PlayerGui的副本,只有修改PlayerGui里的控件才会实时显示变化。
  • 类型转换:clicks是数字类型,而Text属性要求字符串,虽然Luau会自动隐式转换,但显式用tostring()能避免潜在的类型兼容问题。
  • 脚本类型:确保这个脚本是LocalScript,并且放在玩家可访问的位置(比如按钮本身、ScreenGui内),只有LocalScript能访问LocalPlayer和PlayerGui。

内容的提问来源于stack exchange,提问作者ben

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 21:25:24