我正在使用电晕SDK进行游戏,但我遇到了这个小问题。
我有一个带按钮的菜单。如果我按它,它会将我发送到我游戏的第一级。 当我通过最后一级时,游戏会将我返回菜单。 Bur,如果我再次开始播放,我的图像就不会出现了。
图像是球,要通过关卡,你必须消除所有的球。为此,我使用:
球:removeSlef() ball = nil
但是,我不认为这是问题所在,因为我消除了这一点,但它不起作用。 图像在场景中创建:createScene函数,并在组中插入。
我简短了第一级的代码。
local storyboard = require( "storyboard" )
local scene = storyboard.newScene()
local physics = require "physics"
physics.start(); physics.pause()
physics.setGravity( 0, 0 )
local cont = 0
local bur = {}
function eliminar1( event )
if (cont == 0) and (event.phase == "began") then
event.target:removeSelf()
bur[1] = nil
cont = cont + 1
end
end
function eliminar2( event )
if (cont == 1) and (event.phase == "began") then
bur[2]:removeSelf()
bur[2] = nil
cont = cont + 1
end
end
function eliminar3( event )
if (cont == 2) and (event.phase == "began") then
bur[3]:removeSelf()
bur[3] = nil
storyboard.gotoScene( "levels.1.level2" )
end
end
function scene:createScene ( event )
local screenGroup = self.view
for i = 1,3 do
bur[i] = display.newImage("irudiak/"..i..".png")
bur[i]:translate(math.random(0,280), math.random(0,400) )
physics.addBody( bur[i], {bounce = 0.3 } )
bur[i]:setLinearVelocity(math.random(-50,50), math.random(-50,50) )
screenGroup:insert(bur[i])
end
bur[1]:addEventListener("touch", eliminar1)
bur[2]:addEventListener("touch", eliminar2)
bur[3]:addEventListener("touch", eliminar3)
end
function scene:enterScene( event )
local screenGroup = self.view
physics.start()
end
function scene:exitScene( event )
local screenGroup = self.view
physics.stop()
end
function scene:destroyScene( event )
local screenGroup = self.view
package.loaded[physics] = nil
physics = nil
end
return scene
答案 0 :(得分:0)
createScene
仅在您gotoScene
时第一次运行。每次下次只播放willEnterScene
和enterScene
。要再次玩createScene
,您必须将其删除(我猜是storyboard.removeScene()
)。或者你可以将你需要的东西移到willEnterScene
。有关详细信息,您可以观看:http://www.coronalabs.com/blog/2013/08/20/tutorial-reloading-storyboard-scenes/