如何用Lua、Love2D中的表替换打印的字符串
当我按下鼠标右键时,我一直在尝试打印“模式”表中的第二个字符串。 但当我点击按钮时,它会打印“模式:1”,而不是“模式:圆圈”。这是我的密码:如何用Lua、Love2D中的表替换打印的字符串,lua,love2d,Lua,Love2d,当我按下鼠标右键时,我一直在尝试打印“模式”表中的第二个字符串。 但当我点击按钮时,它会打印“模式:1”,而不是“模式:圆圈”。这是我的密码: function love.load() mode = {"square", "circle"} currentMode = mode[1] end function nextMode() currentMode = next(mode) print(currentMode) end function love.draw() love.graphic
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
有人能告诉我我做错了什么并纠正我吗?
下一步
返回索引和值,但不保留任何状态,因此有第二个参数传递上一个索引
通常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