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

Handling activation and deactivation

From: Flash Professional CS5: Creating a Simple Game for Android Devices

Video: Handling activation and deactivation

Since this is a game for mobile devices, what we need to do is figure out how to handle the game, say for instance, when the user gets a phone call, or when the user launches another app. So we need to handle this activation and deactivation of this game, and I'm going to do that by using the Code Snippets panel. Down here there is App Activate/Deactivate. So I'm going to go ahead and that to that frame on my Actions layer where all my other code is, right in here.

Handling activation and deactivation

Since this is a game for mobile devices, what we need to do is figure out how to handle the game, say for instance, when the user gets a phone call, or when the user launches another app. So we need to handle this activation and deactivation of this game, and I'm going to do that by using the Code Snippets panel. Down here there is App Activate/Deactivate. So I'm going to go ahead and that to that frame on my Actions layer where all my other code is, right in here.

So there's a couple of EventListeners right in here. So the first one is going to listen for the deactivate, so anytime you know, say for instance, when the user gets a phone call or launches another app, and this app is actually basically in background mode. What we do with everything? Well, what we do with that information is we're going to go ahead and pause the game anytime the game is deactivated or running in the background.

We want to pause it because not only do we not want the game to continue to play and watch our players die without us knowing it, but we also don't want to tax the battery by having various functions run in the background. Next up, when the user comes back to the game, what happens? All right and that's when this resume game function fires off, and both of these functions are right down here. So I need to determine what listener events are running, timers, whatever is running, and then pause those elements. And once the user comes back to the game, I need to resume those elements as well.

So let's go ahead and take a look, and quite frankly, I really only need to pause the game when the game is in one state okay, because if they are on the intro screen or on the results screen I don't need to pause anything. But if the gameState is equal to STATE_ PLAY_GAME, then go ahead and pause the necessary elements or stop them from running.

Same thing. I am going to just copy that if statement and paste it right down in here for the resume game as well. So let's go ahead and populate this, so let's take a look at the game state. First off, I just scroll up near the top, and where I want to start is there is going to be this game loop that runs continuously okay, and I want to stop this Enter frame. And this is the big thing you need to look out for is intro frames can be expensive, as far as the processor goes, because its executing at the frame rate of the movie.

So I want to copy this ENTER_FRAME addEventListener, scroll down, paste it right in here within this if conditional statement, and change add to remove. Now that event listener will be removed, and when the game is resumed I need to make sure that that event listener continues. All right, next up, I need to go ahead and take a look at some of the game play. Say for instance, I know the player starts moving around and all that good stuff when we get back into the game, so start player, we have this laserTimer start, so that laser is constantly firing every half a second.

Well, I need to stop that laser as well, so I'm going to take that line right there on 120, line 120 here. Also, if you notice there's also this accelerometer that's being executed as well. But first, let's paste in this laserTimer start and change it to stop. Okay, so that will stop the laser, and I need to resume it, of course, when they go back into the game. Let's go back up to where we were, right in here, and again since they're on a mobile device it's calling this accelMove basically every time the user tilts the device, so I need to stop this from happening.

So I'm going to take this EventListener and put it down in here as well, change add to remove, and also paste it right down in here. That's actually going to work out pretty well. In fact, both of the deactivate and activate are going to fire off and work appropriately, but I want to pause the game in another place as well. Okay, so I'm just going to copy this pause game, because if you recall, I also have that Options menu right, okay.

So if they click on that Options menu button, it's going to go ahead and enable the Options menu. Well, at that point, again, I also need to pause the game, and then when they press it again when the menu goes away, then I need to resume the game, just like that. So again, call that function, and now we are set. So both of those in place, I can go ahead and test this out in Flash to make sure it's working. Let's run this.

So I'm going to play the game. I'm going to then hit the Enter key and that's going to show the Options menu, and then I'm going to hit the Enter key again and then the gameplay will resume. There we are. You can see how it's paused the game. I can see my lasers have stopped, this interframe has stopped as well, everything has stopped moving and that works great. If I hit the Enter key again, it will continue.

So again, this is one of the things that you're going to have to do is deal with activation and deactivation of your application, because it's really going to help your user's battery life and also it's going to enable better game play because it's going to pause and resume the game at the appropriate times.

Show transcript

This video is part of

Expand all | Collapse all
  1. 1m 48s
    1. Welcome
      1m 0s
    2. Using the exercise files
      48s
  2. 7m 16s
    1. Understanding the user
      4m 2s
    2. Flash content on Android devices
      3m 14s
  3. 17m 28s
    1. Reviewing the game
      1m 50s
    2. Creating a file in Device Central
      5m 39s
    3. Reviewing the game structure
      8m 23s
    4. Adding code snippets
      1m 36s
  4. 36m 13s
    1. Animating the intro screen
      8m 13s
    2. Moving the player
      8m 13s
    3. Adding enemies
      6m 49s
    4. Adding movement
      4m 16s
    5. Adding chance and randomness
      8m 42s
  5. 34m 30s
    1. Adding lasers
      8m 14s
    2. Detecting collisions
      7m 57s
    3. Adding explosions
      6m 26s
    4. Removing assets from the stage
      8m 50s
    5. Adding audio
      3m 3s
  6. 33m 12s
    1. Adding scoring and levels
      7m 41s
    2. Subtracting lives and ending the game
      4m 26s
    3. Creating a results screen
      5m 8s
    4. Displaying the score
      6m 57s
    5. Saving and loading game results
      9m 0s
  7. 17m 14s
    1. Detecting movement with the Accelerometer
      6m 39s
    2. Using the swipe gesture
      4m 42s
    3. Using hardware keys
      5m 53s
  8. 23m 18s
    1. Handling exits and idle mode
      3m 31s
    2. Handling activation and deactivation
      6m 14s
    3. Optimizing graphics
      7m 14s
    4. Optimizing ActionScript
      6m 19s
  9. 34m 41s
    1. Creating the application files
      8m 23s
    2. Creating the app (Mac)
      5m 5s
    3. Creating the app (PC)
      7m 19s
    4. Publishing to an Android device (Mac)
      7m 7s
    5. Publishing to an Android device (PC)
      6m 47s
  10. 8m 56s
    1. Uploading to the Android market
      7m 7s
    2. Downloading from the Android market
      1m 49s
  11. 1m 22s
    1. Next steps
      1m 22s

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
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.


Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ.

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.


Mark all as unwatched Cancel

Congratulations

You have completed Flash Professional CS5: Creating a Simple Game for Android Devices.

Return to your organization's learning portal to continue training, or close this page.


OK
Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member?

Become a member to like this course.

Join today and get unlimited access to the entire library of video courses.

Get started

Already a member?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

The classic layout automatically defaults to the latest Flash Player.

To choose a different player, hold the cursor over your name at the top right of any lynda.com page and choose Site preferencesfrom the dropdown menu.

Continue to classic layout Stay on new layout
Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Are you sure you want to delete this note?

No

Your file was successfully uploaded.

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.