【发布时间】:2016-05-22 21:21:56
【问题描述】:
我发布的代码是为了做三件事:
- 按下 buyButton 时将
item.DoesOwn.Value设置为 true - 当
item.DoesOwn.Value为真时使equipButton 可见 - 取消装备所有物品,然后在按下装备时装备所选物品。
问题:当我单击多个项目按钮,然后单击buyButton 时,它会将所有按钮的DoesOwn.Value 属性设置为true。我只想一次购买一件物品,而且前提是它尚未拥有。当他们已经拥有该物品时,一次装备一件物品也是如此。
previewBox=script.Parent.PreviewImage
itemLabel=script.Parent.ItemName
priceLabel=script.Parent.PriceLabel
equipButton=script.Parent.Equip
buyButton=script.Parent.Buy
knifeItems=script.Parent.KnifeFrame:GetChildren()
function checkKnifeItems(button,buttons)
previewBox.Image=button.Image
itemLabel.Text=button.Name
if button.DoesOwn.Value == true and button.Equipped.Value == false then
priceLabel.Visible=false
equipButton.Visible=true
equipButton.MouseButton1Down:connect(function()
for i, v in pairs(buttons) do
buttons[i].Equipped.Value=false
end
button.Equipped.Value=true
equipButton.Visible=false
button.BackgroundColor3=Color3.new(0/277, 255/277, 127/277)
end)
elseif button.DoesOwn.Value == false then
equipButton.Visible=false
buyButton.Visible=true
buyButton.MouseButton1Down:connect(function()
button.DoesOwn.Value=true
button.BackgroundColor3=Color3.new(255/277, 255/277, 255/277)
buyButton.Visible=false
end)
end
end
for i,v in pairs (knifeItems) do
v.MouseButton1Down:connect(function()checkKnifeItems(v,knifeItems) end)
end
【问题讨论】:
-
缺少缩进使得该代码非常难以阅读。缩进
if...end块的内容怎么样? (加上for...do...end等等)。 -
感谢您修复缩进,我是这个网站的新手,但您知道这段代码有什么问题吗?
标签: button scripting lua roblox