lua - 如何编辑文本框的文本值?(机器人)
问题描述
我正在用 roblox 制作一个小游戏。我使用的本地脚本在工作空间内,所以这不像简单地写local textbox = script.Parent
我需要这个文本框的完整路径那么简单。它的名字是TextBox
,现在我有:
local button = script.Parent
button.ClickDetector.MouseClick:Connect(function ()
game.Players.LocalPlayer.PlayerGui.ScreenGui.TextBox.Text = "this is a test"
end)
当我运行此代码并单击游戏中的 obj 按钮时,它给了我这个错误:Workspace.button.click.OnClick:4: attempt to index nil with 'PlayerGui'
解决方案
您的问题可能是因为您.MouseClick
从服务器端脚本调用该函数,而game.Players.LocalPlayer
只能从 LocalScript 调用。为了获得点击的玩家,ClickDetector
您可以执行以下操作:
local button = script.Parent
button.ClickDetector.MouseClick:Connect(function(player) --Player param gives the player (in game.Players) who clicked the Click Detector
player.PlayerGui.ScreenGui.TextBox.Text = "this is a test"
end)
推荐阅读
- r - 使用 Plotly 图表向 Shiny 应用程序添加自定义标题
- jquery - 几秒钟后,如何使用 jquery 在选择时刷新页面...?
- android - 由于内存不足,gradle 无法构建 android 项目
- ios - arm64 iOS Swift Gstreamer 库 (Xcode 10.1) 不支持 rtspsrc
- cloud-foundry - Spring Cloud 数据流服务器 Cloud Foundry 配置服务器
- javascript - 可以在快递中使用中继吗?
- amazon-web-services - 使用 pem 文件通过 ssh 连接
- php - 使用 Bootstrap 4 在桌面屏幕右侧的菜单
- php - 带有 FPM 配置的 PHP Composer
- ios - 以编程方式快速定位和约束