如何在文本框中访问用户键入的文本以使其成为变量? (Roblox)

时间:2018-06-09 12:11:10

标签: lua roblox

所以,我想制作转换器GUI,将比特币转换为美元。我使用文本框获取用户输入,并使用文本按钮进行提交。但是,当我在测试游戏并打印文本框内的内容时,在文本框中键入例如8的数字时,它没有打印任何内容。即使我在文本框中输入了8。感谢所有的答案!这是我使用的代码。

-- text variable below

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

-- button variable below

local submit = input:FindFirstChild("btcSubmit")


-- player variable below

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 = "Sorry, your Bitcoin isn't enough"
        wait(4)
        val = "Input the number of bitcoin you want to exchange here!"
    else
        dollar = val * 8000
        val = tostring()
    end
end

submit.MouseButton1Click:Connect(btcEx)

1 个答案:

答案 0 :(得分:0)

当您将变量设置为值而不是引用时,它将保持该值,直到您更改它为止。

object.Value = 5
local myValue = object.Value
object.Value = 10
print(myValue) -- Prints 5.

这是因为它们没有链接,因此更改不会延续,如下面的这些变量:

local a = 5
local b = a
a = 10
print(b) -- Prints 5, because b was never changed (but a was).

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

local myButton = button
button.Text = "Howdy!"
print(myButton.Text) -- Prints "Howdy!"
myButton.Text = "Hey there" -- this is the same as button.Text
print(myButton.Text) -- Prints "Hey there"