如何访问文本框中输入的文本并将其作为变量使用?(Roblox)

所以,我想要制作一个转换器GUI,将比特币转换为美元。我使用一个文本框来获取用户输入,使用一个文本按钮来提交。但是,当我在测试游戏时将数字8输入到文本框中并打印文本框中的内容时,什么也没有打印出来。即使我已经在文本框中输入了8。谢谢所有的答案!这是我使用的代码。

--文本变量如下

local input = script.Parent
local val = input.Text

--按钮变量如下

local submit = input:FindFirstChild("btcSubmit")

--玩家变量如下

local gams = game.Players.LocalPlayer
local ld = gams:WaitForChild("leaderstats")
local bitcoin = ld:WaitForChild("Bitcoin").Value
local dollar = ld:WaitForChild("Dollar").Value

--function

function btcEx()
    val = tonumber(val)
    if val > bitcoin then
        val = tostring(val)
        val = "抱歉,您的比特币不够"
        wait(4)
        val = "在此输入您要兑换的比特币数量!"
    else
        dollar = val * 8000
        val = tostring()
    end
end

submit.MouseButton1Click:Connect(btcEx)
点赞
用户5831152
用户5831152

当你把一个变量设为值而不是引用时,它会保持这个值,直到你改变它。

object.Value = 5
local myValue = object.Value
object.Value = 10
print(myValue) -- 输出 5。

这是因为它们没有链接,因此更改不会传递,就像下面的这些变量:

local a = 5
local b = a
a = 10
print(b) -- 输出 5,因为 b 从未被改变(但 a 改变了)。

你需要做的是将你的按钮和值对象定义为引用,并在需要读取值时简单地访问 .Text 或 .Value。

local myButton = button
button.Text = "Howdy!"
print(myButton.Text) -- 输出 "Howdy!"
myButton.Text = "Hey there" -- 这相当于 button.Text
print(myButton.Text) -- 输出 "Hey there"
2018-06-09 12:23:24