local composer = require( "composer" ) local scene = composer.newScene() function scene:create( event ) local sceneGroup = self.view -- Start the physics engine local physics = require( "physics" ) physics.start() -- Calculate half the screen width and height halfW = display.contentWidth\*0.5 halfH = display.contentHeight\*0.5 -- Set the background local bkg = display.newImage( "night\_sky.png", halfW, halfH ) -- Score score = 0 Wynik = display.newText("Score: ",halfW,10 ) Wynik.x = 30 Wynik.y = 5 scoreText = display.newText(score,0,10 ) scoreText:setFillColor( 20, 10, 0 ) scoreText.x = 60 scoreText.y = 5 live = 3 liveText = display.newText(live,halfW,10 ) liveText:setFillColor( 20, 10, 0 ) liveText.x = 280 liveText.y = 5 zycia = display.newText("Lives:",halfW,10 ) zycia.x = 255 zycia.y = 5 local function jellyTouched(event) if ( event.phase == "began" ) then Runtime:removeEventListener( "enterFrame", event.self ) event.target:removeSelf() score = score + 1 scoreText.text = score end end local function rockTouched(event) if ( event.phase == "began" ) then Runtime:removeEventListener( "enterFrame", event.self ) event.target:removeSelf() if(live==0)then gameOver() else live = live-1 liveText.text = live end end end local function badJellyTouched(event) if ( event.phase == "began" ) then Runtime:removeEventListener( "enterFrame", event.self ) event.target:removeSelf() score = 0 scoreText.text = score if(live==0)then gameOver() else live = live-1 liveText.text = live end end end local function superJellyTouched(event) if ( event.phase == "began" ) then Runtime:removeEventListener( "enterFrame", event.self ) event.target:removeSelf() score = score\*2 scoreText.text = score end end local function jarTouched(event) if ( event.phase == "began" ) then Runtime:removeEventListener( "enterFrame", event.self ) event.target:removeSelf() if(live\<3)then live = live+1 liveText.text = live end end end -- Delete objects which has fallen off the bottom of the screen local function offscreen(self, event) if(self.y == nil) then return end if(self.y \> display.contentHeight + 50) then Runtime:removeEventListener( "enterFrame", self ) self:removeSelf() end end local function jellyoffscreen(self, event) if(self.y == nil) then return end if(self.y \> display.contentHeight + 50) then if(live==0)then gameOver() else live = live-1 liveText.text = live end Runtime:removeEventListener( "enterFrame", self ) self:removeSelf() end end local function addNewObject() local startX = math.random(display.contentWidth\*0.1,display.contentWidth\*0.9) local a = math.random(1,12) if(a\<=5)then local rock = display.newImage( "rock.png", startX, -300) physics.addBody( rock ) rock.enterFrame = offscreen Runtime:addEventListener( "enterFrame", rock ) rock:addEventListener( "touch", rockTouched ) elseif(a==12)then local b=math.random(1,5) if (b==1) then g="bad-blue.png" elseif(b==2)then g="bad-green.png" elseif(b==3)then g="bad-purple.png" elseif(b==4)then g="bad-red.png" else g="bad-yellow.png" end local badjelly = display.newImage(g, startX, -300) physics.addBody( badjelly ) badjelly.enterFrame = offscreen Runtime:addEventListener( "enterFrame", badjelly ) badjelly:addEventListener( "touch", badJellyTouched ) elseif(a==10)then local jar = display.newImage( "jar.png", startX, -300) physics.addBody( jar ) jar.enterFrame = offscreen Runtime:addEventListener( "enterFrame", jar ) jar:addEventListener( "touch", jarTouched ) elseif(a==11)then local powerJelly = display.newImage( "Power Jelly.png", startX, -300) physics.addBody( powerJelly ) powerJelly.enterFrame = offscreen Runtime:addEventListener( "enterFrame", powerJelly ) powerJelly:addEventListener( "touch", superJellyTouched ) else local b=math.random(1,5) if (b==1) then g="jelly-blue.png" elseif(b==2)then g="jelly-green.png" elseif(b==3)then g="jelly-purple.png" elseif(b==4)then g="jelly-red.png" else g="jelly-yellow.png" end local jelly = display.newImage(g, startX, -300) physics.addBody( jelly ) jelly.enterFrame = jellyoffscreen Runtime:addEventListener( "enterFrame", jelly ) jelly:addEventListener( "touch", jellyTouched ) end end -- Keep adding a new balloon or bomb every 0.5 seconds local f = timer.performWithDelay( 500, addNewObject, 0 ) end local function gameOver() composer.gotoScene( "menu", "fade", 500 ) end function scene:hide( event ) local sceneGroup = self.view local phase = event.phase if event.phase == "will" then -- Called when the scene is on screen and is about to move off screen -- -- INSERT code here to pause the scene -- e.g. stop timers, stop animation, unload sounds, etc.) physics.stop() elseif phase == "did" then -- Called when the scene is now off screen end end function scene:destroy( event ) -- Called prior to the removal of scene's "view" (sceneGroup) -- -- INSERT code here to cleanup the scene -- e.g. remove display objects, remove touch listeners, save state, etc. local sceneGroup = self.view package.loaded[physics] = nil physics = nil end --------------------------------------------------------------------------------- -- Listener setup scene:addEventListener( "create", scene ) scene:addEventListener( "show", scene ) scene:addEventListener( "hide", scene ) scene:addEventListener( "destroy", scene ) ----------------------------------------------------------------------------------------- return scene
dont have object remover right now, coz it aint working form me. ;/
Error: attempt to call global ‘gameOver’ (a nil value)