Here is the error:
Corona Runtime Error
lib\loadLevel.lua:27: attempt to index field ‘?’ (a nil value)
stack traceback:
lib\loadLevel.lua:27: in function ‘load’
code\gameScene.lua:22: in function ‘?’
?: in function ‘dispatchEvent’
?: in function ‘gotoScene’
code\levelSelect.lua:26: in function ‘_onEvent’
?: in function ‘?’
?: in function ‘?’
?: in function <?:182>
Do you want to relaunch the project?
Yes No
So here is my problem: The error occurs only when I am trying to go from scene main.lua > scene code.levelSelect > scene code.gameScene BUT it does not happen if I call scene main.lua > scene code.gameScene.
Here is my code.gameScene:
local composer = require ("composer") local scene = composer.newScene("scene") local settings = require("code.settings") local loadLevel = require("lib.loadLevel") function scene:create(event) -- Init some important vars local view = self.view local \_X = display.contentCenterX local \_Y = display.contentCenterY local \_W = display.contentWidth local \_H = display.contentHeight -- Activate multitouch system.activate("multitouch") -- Create background local background = display.newRect(\_X, \_Y, display.actualContentWidth, \_H) view:insert(background) loadLevel.load() loadLevel.movePlayer() end function scene:show(event) end function scene:hide(event) end function scene:destroy(event) end scene:addEventListener("create") scene:addEventListener("show") scene:addEventListener("hide") scene:addEventListener("destroy") return scene
Here is part of my lib.loadLevel:
local currentLevel = settings.m.currentLevel for i = 1, 50 do if True == true then if levelData.level[currentLevel][i] == nil then -- this is where the error occurs num = i - 1 True = false end end end
Here is my code.levelData:
local M = {} local settings = require("code.settings") M.level = {} local curr = settings.m.currentLevel local \_X = display.contentCenterX local \_Y = display.contentCenterY M.level[1] = { { Type = "ball", x = \_X-200, y = \_Y, r = 20, c = {1,0,0} }, --{ Type = "obstacle", x = \_X, y = \_Y + 100, w = 50, h = 200, c = {0,0,0} }, --{ Type = "obstacle", x = \_X - 50, y = \_Y + 200, w = 50, h = 200, c = {0,0,0} }, { Type = "portal1", x = \_X, y = \_Y + 100, r = 30, c = {1,1,0}}, { Type = "portal2", x = \_X, y = \_Y - 100, r = 30, c = {0,0,1}}, } return M
Please help me! I have tried to debug this but I have not found a way!