如何编写一个检查部分是否被点击的if语句(Roblox Lua)

如何编写一个if语句来检查部件是否被点击? 还有,这不是一个GUI。 以下是我编写的一些代码:

local chat = game.Workspace.Dummy1.Head.Dialog
local Menu = {"pizza","fries","hamburger"}

local Item = math.random(1,#Menu)  -- 从表格中选择随机项

chat.InitialPrompt = (Menu[Item]) -- 说出随机项

local PizzaButton = game.Workspace.PizzaButton -- 按钮的变量
local FriesButton = game.Workspace.FriesButton -- 按钮的变量
local BurgerButton = game.Workspace.BurgerButton -- 按钮的变量

if chat.InitialPrompt == "pizza" then -- 检查随机项是什么
    print("选择了Pizza")
    if  -- 在这里,我想检查是否已经点击了一个按钮
elseif chat.InitialPrompt == "fries" then -- 检查随机项是什么
    print("选择了薯条")
    if -- 在这里,我想检查是否已经点击了一个按钮
elseif chat.InitialPrompt == "hamburger" then -- 检查随机项是什么
    print("选择了汉堡包")
    if -- 在这里,我想检查是否已经点击了一个按钮
else
    print("错误")
end

这是我最好的解释。

点赞
用户12839543
用户12839543

这很简单,您可以在按钮部分内添加一个名为clicked的布尔值。并且在第一次点击按钮时将它的值设置为true。


    if chat.InitialPrompt == "pizza" then -- 检查已选择的随机项目
        print("选择了比萨饼")
        -- 在此处插入代码
        if PizzaButton.clicked.Value == true then
            -- 按钮已经被点击了
        else
            PizzaButton.clicked.Value = true
            -- 在第一次点击时执行的动作
        end
    elseif -- 为所有其他按钮执行相同的操作
2021-08-26 14:50:23
用户16665626
用户16665626

根据上面的小伙伴说的,你还应该加上下面这段来减少代码行数:

local chat = game.Workspace.Dummy1.Head.Dialog
local Menu = {"Pizza","Fries","Hamburger"}

local Item = math.random(1,#Menu)

chat.InitialPrompt = (Menu[Item])

local PizzaButton = game.Workspace.PizzaButton
local FriesButton = game.Workspace.FriesButton
local BurgerButton = game.Workspace.BurgerButton

if table.find(Menu,chat.InitialPrompt) then
    print(chat.InitialPrompt.." has been chosen")
else
    print("Error")
end
2021-09-07 07:02:16