【问题标题】:Corona SDK Error: " ?:0:table index is nil " when I try to go to a new sceneCorona SDK 错误:“?:0:table index is nil”当我尝试去一个新场景时
【发布时间】:2014-03-26 22:52:39
【问题描述】:

我收到一条错误消息 ?:0: table index is nil 堆栈回溯: C:在函数“错误”中 ?: 在函数'gotoScene'中

错误来自我代码中的 startpressed 函数,但我认为我的 selectlevel.lua 文件有问题。

这是我的 menu.lua 代码:

local storyboard = require( "storyboard" )
local scene = storyboard.newScene()

local bg
local startb
local aboutb
local title

local function startpressed(event)
if (event.phase == "ended") then
    print("Works")
    storyboard.gotoScene("selectlevel")
end

end

local function aboutpressed(event)
if (event.phase == "ended") then
    print("Works!")
    --storyboard.gotoScene("selectlevel")
end

end



function scene:createScene( event )
local group = self.view
bg = display.newRect( 0, 0, display.contentWidth, display.contentHeight)
startb = display.newImage("startbutton.png")
aboutb = display.newImage("aboutbutton.png")
title = display.newText("Bouncy Shooter", 100, 200,Batang, 75)
title:setFillColor( 0, 0, 0 )
end

function scene:enterScene( event )
local group = self.view
print("entered")
group:insert(bg)
group:insert(startb)

bg.x = display.contentWidth/2
bg.y = display.contentHeight/2

startb.x = display.contentWidth/2
startb.y = display.contentHeight/2 - startb.contentHeight/2 

aboutb.x = display.contentWidth/2
aboutb.y = display.contentHeight/2 + aboutb.contentHeight/1.5

title.x = display.contentWidth/2
title.y = 0 + title.contentHeight

startb:addEventListener("touch", startpressed)
aboutb:addEventListener("touch", aboutpressed)

end




function scene:exitScene(event)
local group = self.view
startb:removeEventListener("touch", startpressed)
aboutb:removeEventListener("touch", aboutpressed)


end


function scene:destroyScene(event)

end



scene:addEventListener( "createScene", scene )


scene:addEventListener( "enterScene", scene )

scene:addEventListener( "exitScene", scene )


scene:addEventListener( "destroyScene", scene )



return scene

这是我的 selectlevel.lua 代码:

local storyboard = require( "storyboard" )
local scene = storyboard.newScene()

local box1
local box2
local notdone



function scene:createScene(event)
local group = self.view
box1 = display.newImage("level1button.png")
box2 = display.newImage("level2button.png")

end

function scene:enterScene(event)
local group = self.view
box1.x = display.contentWidth/10 + box1.contentWidth
box1.y = display.contentHeight/10 + box1.contentHeight

box2.x = box1.x + box2.contentWidth * 1.5
box2.y = box1.y 
group:insert(box1)
group:inset(box2)



 end

function scene:exitScene(event)
local group = self.view


end

function scene:destroyScene(event)
local group = self.view


 end


scene:addEventListener(createScene, scene)

scene:addEventListener(enterScene, scene)

scene:addEventListener(exitScene, scene)

scene:addEventListener(destroyScene, scene)

return scene

您可能会说,我是 Corona 的新人,所以请不要开玩笑。

【问题讨论】:

    标签: sdk lua storyboard coronasdk


    【解决方案1】:

    您使用变量名称而不是字符串作为事件名称。改用这个,在selectlevel.lua:

    scene:addEventListener('createScene', scene)
    scene:addEventListener('enterScene', scene)
    scene:addEventListener('exitScene', scene)
    scene:addEventListener('destroyScene', scene)
    

    【讨论】:

    • @TyroSmith:欢迎来到 Stack Overflow。如果它解决了您的问题,请确保接受答案...
    猜你喜欢
    • 2014-08-15
    • 1970-01-01
    • 1970-01-01
    • 2016-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-21
    • 1970-01-01
    相关资源
    最近更新 更多