从Corona获取故事板的文件名称?

时间:2013-01-27 20:22:10

标签: lua corona corona-storyboard

我有一个故事板文件,我想引用实现故事板的文件的名称,以便我可以加载相同基本名称的配置文件。

以下是名为scene001.lua

的文件中的示例
-- Called when the scene's view does not exist:
function scene:createScene( event )
    local screenGroup = self.view

    local json = require("json")
    -- load the book definition file
    local contents = textFromFile("scene001.json")
    local page = json.decode(contents)
    image = buildPage(page)
    screenGroup:insert(image)
    image.touch = onSceneTouch
end

如您所见,我必须对"scene001.json"进行硬编码。我想加载一个与当前故事板同名的配置文件,我该如何动态地执行此操作?

2 个答案:

答案 0 :(得分:2)

您可以使用debug库,特别是函数debug.getinfo来检索有关当前文件名的信息。使用简单模式,您可以将.lua扩展名替换为.json以打开自定义文件。

print( debug.getinfo(1,"S").short_src ) --> /path/to/scene001.lua.

答案 1 :(得分:0)

我实际上找到了一种更好的官方方式,而不需要解析路径所需的所有正则表达式愚蠢。使用debug.getinfo()的潜在性能影响。

storyboard.getCurrentSceneName()