我的项目中只有2个脚本,两个脚本都少于10行。其中一个名为main.lua,另一个名为scene1.lua。我试图在打开应用程序时从main.lua转到scene1.lua,但是我一直收到此错误。
这是main.lua的代码
local composer = require("composer")
local scene = composer.newScene("main")
composer.gotoScene("scene1")
这是scene1.lua的代码
local composer = require("composer")
local scene = composer.newScene("scene1")
display.newText{
text = "Hello"
}
打开应用程序时,我在左上角看到的文字是“你好”,但在收到此错误后立即显示:
Attempt to concatenate global 'sceneName' (a nil value)
File: ?
stack traceback:
?: in function 'gotoScene'
main.lua:5: in main chunk
我去了Wiki,复制并粘贴了确切的示例,并替换了一些代码以使用我自己的代码,但无济于事
您可以尝试这个:
local composer = require("composer")
local scene = composer.newScene("scene1")
function scene:create(event)
local view = self.view
local text = display.newText{
text = "Hello"
}
view:insert(text)
end
function scene:destroy(event)
end
function scene:enter(event)
end
function scene:exit(event)
end
Runtime:addEventListener("create", scene)
Runtime:addEventListener("destroy", scene)
Runtime:addEventListener("enter", scene)
Runtime:addEventListener("exit", scene)
return scene
用于解释
local composer = require("composer")
composer.gotoScene("scene1")
但是,scene1.lua必须是有效的场景文件。期望您将需要Composer。创建一个新场景。定义四个事件功能并设置其处理功能。最后,模块必须“返回”场景。
我们提供默认场景模板:this link
如果您以所有场景为基础,而仅添加为基础,那么您将始终拥有一个良好的基础场景。这是您可以使用的最小设置。