我一直试图在"模式"中打印第二个字符串。我按下鼠标键时的表格。 但当我点击按钮时,它会打印"模式:1"而不是"模式:circle"。这是我的代码:
function love.load()
mode = {"square", "circle"}
currentMode = mode[1]
end
function nextMode()
currentMode = next(mode)
print(currentMode)
end
function love.draw()
love.graphics.print("mode: " .. currentMode, 10, 10)
end
function love.mousepressed(x, y, button)
if button == "r" then
nextMode()
end
end
有人可以告诉我我做错了什么并纠正了我吗?
答案 0 :(得分:2)
next
返回索引和值,但不保留任何状态,因此有第二个参数可以传递上一个索引。
一般nextIndex, nextValue = next(mytable, previousIndex)
在您的示例中,我们为currentMode
分配了nextIndex
,这是“圈子”的索引,是值2.
这是一个有效的例子:
function love.load()
mode = {"square", "circle"}
currentIndex, currentMode = next(mode)
end
function love.mousepressed(x, y, button)
if button == "r" then
currentIndex, currentMode = next(mode, currentIndex)
end
end
function love.draw()
love.graphics.print("mode: "..currentMode, 10, 10)
end