将SQLite中的文本显示到消息对象中(循环)

我有一个存储一些文本的 SQLite3 数据库,例如两个角色之间的对话。我还有一个弹出窗口,其中显示演讲内容。

现在,我可以从数据库中提取文本,但我主要的问题是:如何在循环函数中显示每一行?像幻灯片一样,文本必须在同一个名为myMessage.text的对象中显示。

这是我的代码:

function displaySpeech(event)
        for i=1,4 do
            local result = "SELECT speech FROM speeches WHERE id="..i..""
                for col1 in db:urows( result ) do
                    myMessage.text=col1
                    print(i)
                end
            i=i+1

        end
end

该函数在监听器中调用,如下所示:

popup:addEventListener( 'tap', displaySpeech)

一旦我点击弹出窗口,该函数必须以每种颜色为单位在消息中显示所有“行”,并为每个元素延迟。 现在,我的函数(displaySpeech())无法增加- print(i)仅显示第一行。

我知道这个主题可能是“巨大的”,所以首先:这是否是正确的方法?

也许我需要一些timer.performWithDelay()函数?

点赞
用户2767985
用户2767985

下面是我找到的解决方案:

num = 1
function displaySpeech(character)
    displaySpeech_get(""..num.."", character)
    num = num + 1
end
---------------------------------------------------------------------------
function displaySpeech_get(number, character)
local varchar = character
  for row in db:nrows("SELECT * FROM speeches WHERE character='"..character.."' LIMIT "..tostring(number)..",1") do
    myMessage.text=row.speech
  end
end
2014-11-01 08:18:29