Viewers: in countries Watching now:
In Flash Professional CS5: Creating a Simple Game for Android Devices, author Paul Trani shows how to translate existing Flash skills from the web to mobile devices while designing a game in Flash and publishing it as an AIR for Android app. The finished application includes collision detection, random enemy creation and movement, shooting capabilities, multiple levels, and even a high score screen. This course also goes beyond game functionality and shows how to use mobile capabilities such as the accelerometer and gestures to control graphics, use the hardware keys to activate menus, and also how to optimize content so it plays well on mobile devices. Also included are instructions for distributing an app through the Android Market. Exercise files are included with the course.
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.
There are currently no FAQs about Flash Professional CS5: Creating a Simple Game for Android Devices.
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
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.