New Feature: Playlist Center! Pick a topic and let our playlists guide the way.

Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member

Adding the Try Again button

From: Building Flash Games with Starling

Video: Adding the Try Again button

So now, we have our animating background in our game over text. Last thing we need to do in the GameOver state is to create our Try Again button. So I am going to create a property here called tryAgain. I'm going to set that equal to a new Starling button instance, and now we need to get that texture from our texture atlas. So I am going to say Assets, make sure we import that class .ta.getTexture and the texture name is tryAgainButton.

Adding the Try Again button

So now, we have our animating background in our game over text. Last thing we need to do in the GameOver state is to create our Try Again button. So I am going to create a property here called tryAgain. I'm going to set that equal to a new Starling button instance, and now we need to get that texture from our texture atlas. So I am going to say Assets, make sure we import that class .ta.getTexture and the texture name is tryAgainButton.

Now let's go ahead, and create that as an instance variable. Now we want to set the pivot X property of the button. That way we can easily position it in the center of our movie. So we are going to say tryAgain.pivotX = tryAgain.width * 0.5. Let's position this now. So we are going to say tryAgain.x. You can put it right in the center at 400, tryAgain.y = 450.

Again, that's just a trial and error thing to position it correctly. Now let's add it to the display list; so addChild (tryAgain). Now much like we did in the menu state, we need to listen for the triggered event on this button so that we know when to actually let the user play the game again. So I am going to come right under where we created it and say, tryAgain.addEventListener. We want Event. Again, make sure you get starling. events.Event, and now we want the TRIGGERED event, and we'll just call the event handler onAgain.

So let me create that method, and make sure we have our event object being caught here. And in this onAgain event, what we are going to do is to change the game state to play. So again, we're going to say game.changeState, and then we are going to get that static state property of PLAY_STATE. So now let's go ahead and test it, and make sure it works. So we'll debug here, click Play Game, and I'll let myself die.

We are in the GameOver state, and we can see our button being displayed, and when I click it, we actually go back to the Play state. Okay, so now we just need to implement the destroy method here, and to do that, we are essentially just going to removeFromParent(true). So we are going to make sure we dispose that. Now one of the things that's good practice to do is since we are listening for this event here, let's go ahead and unregister for that event here.

We'll say tryAgain.removeEventListener. So again, my philosophy on cleaning up after yourself, it's better to do more. Even if some things aren't entirely necessary, it's just good practice to get into. So now let's go ahead and test it. Again, we come in, we have our game, we die, GameOver state; TRY AGAIN brings us back to the play state so we continue playing our game. And again, I just wanted to highlight to you that the performance that you are seeing here is not necessarily accurate of the real performance of the game.

For numerous reasons, this is a debug build, and I mentioned before how with Starling in particular, you really need to do a release build of your game in order to get an idea of the real performance, because you can see even though the frame rate here is 60 frames per second, it still looks a little stuttery, and that's because we are looking at this using a debug build and also in the debug player. But that's the GameOver state, and in the next chapter, we are actually going to focus on creating some more visual effects.

We are going to create particles so that when you actually shoot a bullet and it hits an alien, we are going to see an explosion particle so we'll add a little more eye candy to our game in the next chapter.

Show transcript

This video is part of

Image for Building Flash Games with Starling
Building Flash Games with Starling

46 video lessons · 9363 viewers

Lee Brimelow
Author

 
Expand all | Collapse all
  1. 2m 9s
    1. Welcome
      45s
    2. Using the exercise files
      36s
    3. What you should know
      48s
  2. 10m 21s
    1. Checking out the finished product
      1m 10s
    2. Downloading the Starling framework
      4m 13s
    3. Installing Flash Builder
      1m 44s
    4. Installing additional tools
      1m 30s
    5. Overview of the Starling framework
      1m 44s
  3. 13m 0s
    1. Creating the Flash Builder project
      2m 40s
    2. Setting up your Starling scene
      6m 7s
    3. Creating the main game class
      4m 13s
  4. 13m 52s
    1. Creating the IState interface
      2m 14s
    2. Creating the three game states
      3m 50s
    3. Building the state machine
      7m 48s
  5. 22m 14s
    1. Creating a static assets class
      2m 3s
    2. Adding images and creating textures
      3m 24s
    3. Creating sprite sheets with TexturePacker
      6m 26s
    4. Creating the main texture atlas
      3m 29s
    5. Creating and importing bitmap fonts
      6m 52s
  6. 14m 16s
    1. Creating the Background class
      5m 55s
    2. Adding the logo
      2m 58s
    3. Adding the play button
      3m 4s
    4. Implementing the destroy method
      2m 19s
  7. 56m 47s
    1. Adding the background
      1m 3s
    2. Creating the Hero class
      6m 14s
    3. Creating the Bullet class
      1m 44s
    4. Creating the BulletManager class
      4m 23s
    5. Using the StarlingPool class
      9m 24s
    6. Firing bullets with the mouse
      7m 24s
    7. Creating the Alien movie clip
      1m 58s
    8. Creating the AlienManager class
      8m 12s
    9. Overview of collision-detection options
      3m 10s
    10. Creating the CollisionManager class
      10m 51s
    11. Implementing the destroy method
      2m 24s
  8. 7m 59s
    1. Adding the background
      1m 10s
    2. Creating the "Game Over" text
      2m 43s
    3. Adding the Try Again button
      4m 6s
  9. 20m 5s
    1. Exploring particle-creation tools
      4m 52s
    2. Adding the smoke texture
      5m 3s
    3. Creating the Explosion class
      2m 6s
    4. Creating the ExplosionManager class
      8m 4s
  10. 11m 5s
    1. Creating sound effects with cfxr
      3m 5s
    2. Adding the sound effects
      3m 42s
    3. Creating the Score class
      4m 18s
  11. 6m 1s
    1. Starling optimization tips
      4m 8s
    2. Helpful Starling resources
      1m 53s

Start learning today

Get unlimited access to all courses for just $25/month.

Become a member
Sometimes @lynda teaches me how to use a program and sometimes Lynda.com changes my life forever. @JosefShutter
@lynda lynda.com is an absolute life saver when it comes to learning todays software. Definitely recommend it! #higherlearning @Michael_Caraway
@lynda The best thing online! Your database of courses is great! To the mark and very helpful. Thanks! @ru22more
Got to create something yesterday I never thought I could do. #thanks @lynda @Ngventurella
I really do love @lynda as a learning platform. Never stop learning and developing, it’s probably our greatest gift as a species! @soundslikedavid
@lynda just subscribed to lynda.com all I can say its brilliant join now trust me @ButchSamurai
@lynda is an awesome resource. The membership is priceless if you take advantage of it. @diabetic_techie
One of the best decision I made this year. Buy a 1yr subscription to @lynda @cybercaptive
guys lynda.com (@lynda) is the best. So far I’ve learned Java, principles of OO programming, and now learning about MS project @lucasmitchell
Signed back up to @lynda dot com. I’ve missed it!! Proper geeking out right now! #timetolearn #geek @JayGodbold

Are you sure you want to delete this note?

No

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.