win/lose screens
game.lua
enemyrun = timer.performWithDelay( mRand(100 , 650) , gotoLosescreen, 1) function Blockbtn(event) if enemyrun then alphawinbtn.isHitTestable = true else alphawinbtn.isHitTestable = false end end Runtime:addEventListener("enterFrame", Blockbtn) end function gotoLosescreen() composer.removeScene( "game" , false) composer.gotoScene( "losescreen" ) end --win function gotoWinscreen() composer.removeScene( "game", false ) composer.gotoScene( "winscreen" ) end local function Win() timer.cancel( enemyrun ) timer.performWithDelay( 100, gotoWinscreen) end alphawinbtn = display.newRect(mainGroup, 0, 0, 480, 100) alphawinbtn.x = display.contentCenterX alphawinbtn.y = display.contentCenterY +80 alphawinbtn.alpha = 0 alphawinbtn:addEventListener("tap", Win, 1)
reboot scene:
game.lua
-- hide() function scene:hide( event ) local sceneGroup = self.view local phase = event.phase if ( phase == "will" ) then -- Code here runs when the scene is on screen (but is about to go off screen) elseif ( phase == "did" ) then -- Code here runs immediately after the scene goes entirely off screen timer.cancel( enemyrun ) Runtime:removeEventListener("enterFrame", Blockbtn) composer.removeScene( "game", true) end end
lose screen
function scene:show( event )
local sceneGroup = self.view
local phase = event.phase
if ( phase == “will” ) then
–Сцена выключена но скоро появится на экран
elseif ( phase == “did” ) then
– Сцена полностью загружена на экран
local objectGroup = display.newGroup()
local function gotoGame()
composer.loadScene( “game” )
end
background = display.newImageRect(objectGroup,“pics/losescreen.png” , 480 , 320)
background.x = display.contentCenterX
background.y = display.contentCenterY
local getback = display.newRect(objectGroup, 0, 0, 480, 320 )
getback.x = display.contentCenterX
getback.y = display.contentCenterY
getback:setFillColor( 0.75, 0.78, 1 )
getback.alpha = 0.01
getback:addEventListener( “tap”, gotoGame )
end
end
– Скрытие сцены
function scene:hide( event )
local sceneGroup = self.view
local phase = event.phase
if ( phase == “will” ) then
– выполняется перед скрытием сцены
elseif ( phase == “did” ) then
– выполняется после скрытия сцены
composer.removeScene( “losescreen” )
end
end
win screen
function scene:create( event ) local sceneGroup = self.view -- Выполняется при создании сцены, до ее загрузки end -- Отображение сцены function scene:show( event ) local sceneGroup = self.view local phase = event.phase if ( phase == "will" ) then --Сцена выключена но скоро появится на экран elseif ( phase == "did" ) then -- Сцена полностью загружена на экран local objectGroup = display.newGroup() local function gotoGame() composer.loadScene( "game" ) end background = display.newImageRect(objectGroup,"pics/winscreen.png" , 480 , 320) background.x = display.contentCenterX background.y = display.contentCenterY local getback = display.newRect(objectGroup, 0, 0, 480, 320 ) getback.x = display.contentCenterX getback.y = display.contentCenterY getback:setFillColor( 0.75, 0.78, 1 ) getback.alpha = 0.01 getback:addEventListener( "tap", gotoGame ) end end -- Скрытие сцены function scene:hide( event ) local sceneGroup = self.view local phase = event.phase if ( phase == "will" ) then -- выполняется перед скрытием сцены elseif ( phase == "did" ) then -- выполняется после скрытия сцены composer.removeScene( "winscreen" ) end end -- уничтожение сцены() function scene:destroy( event ) local sceneGroup = self.view -- код выполняется до удаления сцены end