- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我在 Corona SDK 中制作一个应用程序,当我单击试图加载我的第一个级别的按钮时出现错误。
这是我的代码:
主.lua
local storyboard = require "storyboard"
storyboard.gotoScene("menu")
菜单.lua
local storyboard = require ("storyboard")
local scene = storyboard.newScene()
function scene:createScene( event )
local screenGroup = self.view
-- Background
bg = display.newImage("images/bg.png")
bg.x = display.contentCenterX
bg.y = display.contentCenterY
screenGroup:insert(bg)
-- Title
title = display.newImage("images/title.png")
title.x = display.contentCenterX
title.y = display.contentCenterY - 100
screenGroup:insert(title)
-- Play game
play = display.newImage("images/playgame.png")
play.x = display.contentCenterX - 170
play.y = display.contentCenterY - 27
screenGroup:insert(play)
-- About Us
about = display.newImage("images/about.png")
about.x = display.contentCenterX - 100
about.y = display.contentCenterY + 40
screenGroup:insert(about)
-- Level Select
select = display.newImage("images/select.png")
select.x = display.contentCenterX
select.y = display.contentCenterY + 100
screenGroup:insert(select)
end
function start(event)
if event.phase == "began" then
storyboard.gotoScene("level1", "fade", 400)
end
end
function start2(event)
if event.phase == "began" then
storyboard.gotoScene("about", "fade", 400)
end
end
function start3(event)
if event.phase == "began" then
storyboard.gotoScene("selectlvl", "fade", 400)
end
end
function scene:enterScene(event)
play:addEventListener("touch", start)
about:addEventListener("touch", start2)
select:addEventListener("touch", start3)
end
scene:addEventListener( "createScene", scene )
scene:addEventListener( "enterScene", scene )
return scene
我的 level1.lua 中有 0 个代码
我得到的错误是这样的:
Runtime error
?:0: attempt to concatenate global 'sceneName' (a nil value)
stack traceback:
[C]: ?
?: in function 'gotoScene'
...s\corona projects\stickman obsticale course\menu.lua.42: in function
<...s\corona projects\stickman obsticale course\menu.
感谢阅读,我希望你能找到答案,因为我找不到:)
最佳答案
问题是您的 level1.lua 中确实有 0 个代码。我将向您发送每个人在第一次开始使用 Storyboard时都会使用的模板代码。
您的代码的问题在于,当您进入第 1 层时,没有创建场景的代码。此外,也没有关于场景何时进入、退出或被破坏的代码。这样,你在menu.lua上的代码就无处可去了。将下面的代码复制粘贴到级别 1 中。当我使用场景模板运行您的代码时,它对我有用。
另一方面,我注意到您的函数和显示对象是在 createScene 中创建的。我会将它们放在 enterScene 中,因为只有在页面加载后才应调用它们。
希望对您有所帮助!如果您的代码不起作用或有其他问题,请与我联系。
----------------------------------------------------------------------------------
local storyboard = require( "storyboard" )
local scene = storyboard.newScene()
----------------------------------------------------------------------------------
--
-- NOTE:
--
-- Code outside of listener functions (below) will only be executed once,
-- unless storyboard.removeScene() is called.
--
---------------------------------------------------------------------------------
---------------------------------------------------------------------------------
-- BEGINNING OF YOUR IMPLEMENTATION
---------------------------------------------------------------------------------
-- Called when the scene's view does not exist:
function scene:createScene( event )
local group = self.view
-----------------------------------------------------------------------------
-- CREATE display objects and add them to 'group' here.
-- Example use-case: Restore 'group' from previously saved state.
-----------------------------------------------------------------------------
end
-- Called immediately after scene has moved onscreen:
function scene:enterScene( event )
local group = self.view
print("entered")
-----------------------------------------------------------------------------
-- INSERT code here (e.g. start timers, load audio, start listeners, etc.)
-----------------------------------------------------------------------------
end
-- Called when scene is about to move offscreen:
function scene:exitScene( event )
local group = self.view
-----------------------------------------------------------------------------
-- INSERT code here (e.g. stop timers, remove listeners, unload sounds, etc.)
-----------------------------------------------------------------------------
end
-- Called prior to the removal of scene's "view" (display group)
function scene:destroyScene( event )
local group = self.view
-----------------------------------------------------------------------------
-- INSERT code here (e.g. remove listeners, widgets, save state, etc.)
-----------------------------------------------------------------------------
end
---------------------------------------------------------------------------------
-- END OF YOUR IMPLEMENTATION
---------------------------------------------------------------------------------
-- "createScene" event is dispatched if scene's view does not exist
scene:addEventListener( "createScene", scene )
-- "enterScene" event is dispatched whenever scene transition has finished
scene:addEventListener( "enterScene", scene )
-- "exitScene" event is dispatched before next scene's transition begins
scene:addEventListener( "exitScene", scene )
-- "destroyScene" event is dispatched before view is unloaded, which can be
-- automatically unloaded in low memory situations, or explicitly via a call to
-- storyboard.purgeScene() or storyboard.removeScene().
scene:addEventListener( "destroyScene", scene )
---------------------------------------------------------------------------------
return scene
关于android - Corona SDK gotoScene 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16503282/
所以我在 Corona SDK 中制作一个应用程序,当我单击试图加载我的第一个级别的按钮时出现错误。 这是我的代码: 主.lua local storyboard = require "storybo
在我的菜单 Storyboard和名为“搜索”的 Storyboard之间转换时,我正在尝试使用效果 slideLeft。 场景变化有效,但是没有效果应用于过渡。或者..根本没有过渡。新场景刚刚出现。
我正在尝试进入行触摸的新场景。我希望被触摸的行转到具有与 id 名称相同的文件名的场景。我希望这不会太困惑。问题出在函数 rowtouch 中。这是我的代码。提前谢谢你。 lo
我是一名优秀的程序员,十分优秀!