if-statement - Love2D If# of i,v 表中

标签 if-statement lua program-entry-point love2d

所以我想在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

但是,看看您的其余代码,您似乎试图仅比较 iv,因此您应该这样做。


通过数组中的硬编码位置来引用颜色是一种非常糟糕的方法。您还循环浏览颜色列表并调用 setColor,但只有最后一个调用实际上会执行任何操作,因此这确实没有意义。

关于if-statement - Love2D If# of i,v 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33202911/

相关文章:

c++ - 这两个 C++ 代码块有什么区别?

c# - if 语句中的变量声明

c++ - 具有 3D vector 参数的 C++ 和 Lua 函数之间的接口(interface)

c++ - Visual Studio 2013 错误 LNK2019

c++ - 不使用这些字符的功能性 C++ 程序 : ';' . '{' , '}' , '\'

python - 为什么 IDLE 不需要 'if __name__ == "__main__": to run a test case, 但 PyCharm 需要?

java - 将 3D 空间划分为相同大小的 block

java - 检查 SIM 卡结果出现误报

lua - 所有分配的 Tarantool 2.3 空间 memtx 均被占用

java - 使用 JavaParser 获取 main 方法中调用的方法