Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL
Help

7. Physics: Falling Objects > Time for action – calling game over

Time for action – calling game over

Time for action – calling game over We are going to make sure that when a Game Over display screen pops up, any of our display objects currently in motion stop moving and the event listeners are deactivated. Aside from the visual display of our Game Over screen, we'll be adding a sound notification that will also help to trigger the event. Create a new local function called callGameOver() and place it after the setScore() function and before the drawBackground() function. local callGameOver = function() Introduce the sound effects when the Game Over display pops up. Have gameIsActive set to false and pause the physics in the game. audio.play( gameOverSound ) gameIsActive = false physics.pause() Create a shade that overlays over the current background. shade = display.newRect( 0, 0, 570, 320 ) shade:setFillColor( 0, 0, 0, 255 ) shade.x = 240; shade.y = 160 shade.alpha = 0 Display the Game Over window and reiterate the final score. gameOverScreen = display.newImageRect( "gameOver.png", 400, 300 ) local newScore = gameScore setScore( newScore ) gameOverScreen.x = 240; gameOverScreen.y = 160 gameOverScreen.alpha = 0 gameGroup:insert( shade ) gameGroup:insert( gameOverScreen ) transition.to( shade, { time=200, alpha=0.65 } ) transition.to( gameOverScreen, { time=500, alpha=1 } ) Have the Score displayed on the Game Over screen. scoreText.isVisible = false scoreText.text = "Score: " .. gameScore scoreText.xScale = 0.5; scoreText.yScale = 0.5 --> for clear retina display text scoreText.x = 240 scoreText.y = 160 scoreText:toFront() timer.performWithDelay( 0, function() scoreText.isVisible = true; end, 1 ) end What just happened? Our gameOver() function triggers our gameOverSound sound effect that we pre-loaded at the beginning of our code. We made sure no events such as the motion from the accelerometer are disabled through gameIsActive = false. The elements of our display objects appear at this point in time with shade, gameOverScreen, and scoreText. If you notice, scoreText disappears when gameplay has ended by scoreText.isVisible = false and then reappears in a different area of the screen using timer.performWithDelay( 0, function() scoreText.isVisible = true; end, 1 ). Starting the game We're going to activate all the remaining functions and have them run accordingly.

  

You are currently reading a PREVIEW of this book.

                                                                                                                    

Get instant access to over $1 million worth of books and videos.

  

Start a Free Trial


  
  • Safari Books Online
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint