所以我想在Love2D中制作一个按钮系统,并且我已经将代码全部写出来了。问题是它不允许我测试表中 i,v 的数量。我的代码是这样的:
function love.load()
colorA={"blue", "yellow"}
colorB={"blue"}
colorC={"blue"}
end
function love.update(dt)
--The update stuff that I wrote
end
function love.draw()
for i,v in pairs(colorA) do
if i,v == 2 then
love.graphics.setColor(255, 255, 0)
else
love.graphics.setColor(0, 0, 255)
end
end
love.graphics.rectangle(My button data)
--The same thing for other 2 buttons
end
上面写着
"Syntax error: main.lua:57: 'then' expected near ','".
(我有更多代码,所以不要认为它是其他东西,因为“main.lua:57”,这是我实际代码中该行的位置。)帮助!
最佳答案
it won't let me test for the number of i,vs in my table if i,v == 2 then
您不能同时进行两次比较。每个比较都是一个单独的表达式,您可以将其与 bool 运算符组合。例如:
if i == 2 and v == 2 then
但是,看看您的其余代码,您似乎试图仅比较 i
或 v
,因此您应该这样做。
通过数组中的硬编码位置来引用颜色是一种非常糟糕的方法。您还循环浏览颜色列表并调用 setColor
,但只有最后一个调用实际上会执行任何操作,因此这确实没有意义。
关于if-statement - Love2D If# of i,v 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33202911/