2012-12-27 27 views
8

我有這樣的代碼:電暈:試圖串連全球「sceneName」

local storyboard = require "storyboard" 

local options = 
{ 
    effect = "slideLeft", 
    time = 800 
} 

storyboard.gotoScene("scene1", options) 

在同一目錄中我有一個文件名爲「scene1.lua」,但控制檯報告這個錯誤:

attempt to concatenate global 'sceneName' (a nil value) in function 'gotoScene' 

任何想法,因爲發生這種情況?由於

+0

如何在發佈源代碼時說出.gotoScene有什麼問題? –

+0

這是文件的所有代碼(main.lua) – Xose

+0

我們需要查看gotoScene函數的源代碼才能夠完全理解錯誤消息。如果我不得不猜測也許你需要添加一個sceneName屬性到選項中? – hugomg

回答

13

我找到了解決辦法:

在scene1.lua必須具有下列方法和事件監聽器:

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

function scene:createScene(event) 

end 

function scene:enterScene(event) 

end 

function scene:exitScene(event) 

end 

function scene:destroyScene(event) 

end 

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

return scene 
10

你只是缺少

return scene 
在scene1.lua

文件。場景功能都是可選的。