Ready to watch this entire course?
Become a member and get unlimited access to the entire skills library of over 4,800 courses, including more Developer and personalized recommendations.Start Your Free Trial Now
- View Offline
- Designing for mobile platforms
- Creating and optimizing game graphics
- Adding random movement and interactivity
- Moving players based on the accelerometer
- Using gestures
- Detecting collisions
- Implementing audio
- Adding scoring and levels
- Implementing a high score screen
- Publishing an app on both Mac and Windows
- Uploading to the Android Market
Skill Level Intermediate
Now that the game is optimized and complete, I want to go ahead and publish the necessary files that are needed create my app. Now, one of those files is going to be the SWF file of the actual game. Then there is going to be a signed certificate that I am going to generate that shows the user who actually created the game. There is going to be an XML descriptor file, which describes the application, sets the necessary permissions, all of that stuff, as well as some icons.
So those are all the elements I need, and I am going to start with the SWF file. So by going to File > Publish Settings, well, I don't want to output an HTML file, so I'll just uncheck that. In fact, I just want to publish out an SWF file. So I am just going to click on this folder icon, and I'm just going to output everything to the Desktop. So I am going to output Invaders.swf, okay. Click Save and I'll click Publish. All right, with that done, what I want to produce next is going to the signed certificate.
Okay, so in order to do that, I am going to go to the Flash tab, and I am going to change this to Adobe AIR 2, because every Adobe AIR app gives you the option to create a signed certificate. So change that to Adobe AIR 2, click on Settings, and don't worry about filling any of this in; just go to the Signature tab. So from here, a signed certificate is needed for every app that's going to go in the Android market. It's going to be a p12 file, and I am going to go ahead and create a new one.
So I am select New. Publisher name. Just start filling in the blank. I am going to give it a password, and then I want to make sure it's a 1024-RSA file. That's the type it is so it will work for Android apps. I can go ahead and save it out, so we'll just call this lyndaMobileGame, and I'll click this folder. And again, I am going to save it to the Desktop.
Select Open, OK, and a self-signed certificate has been created. I'll click OK, and I'll cancel out of this. All right, so I have those two files created. Now, I am going to go to my Desktop. This is an XML file that was created from AIR, so it created in AIR 2 file. I don't need this file at all. In fact, I am just going to right-click and move it to the trash. I want to use one that's specific for mobile devices, okay.
So I have my SWF, here is my signed certificate, and now I need to go ahead and get my Invaders-app.xml file. Okay, so this is an XML descriptor file that describes how to treat this SWF, and really what it contains and defines the permissions. So I am just going to take this and I'll copy it, and I'll close that, and I am just going to paste it onto my Desktop right there. Another thing I am going to do is I am going to go in to the Assets folder, into the Graphics folder, because I am going to need these icons as well, the 36x36- pixel png file, a 48x48 and a 72x72.
These are the various icon buttons that are required for my apps. I am going to take all three of those. I am going to copy them and place them on my Desktop as well. So everything is looking good so far. I have my icons down here, these two files as well, and I need to go ahead and define the elements and basic information in this xml file. So I am going to go ahead and open it up in Dreamweaver. Now, you can use any text editor that you want, but I am going to go ahead and use Dreamweaver to define the various elements of this file.
All right, right at the top, notice that it does say this is an application that's using Adobe AIR 2.5, so there is additional functionality in this. AIR 2.5 is for mobile devices-- not that you have to worry about that, because you don't even need to touch that. I do need to first give it an ID. This is going to be a reverse domain format is what's commonly done. So I am just going to do com.lynda.Invaders. So this last word right here is going to be at the end, which describes, basically, the game.
This is the version number, okay, so you can actually continually add to it, and then you're going to have the file name. In this case the file name is Invaders. Next up is going to be the description, so "This is a Space Invaders style game, but better." How about that? All right, so you type in the description. Right in here if you want to localize it based on the language, you can go ahead and define what that is. That's grayed out.
I don't even need to worry about that at all. I do need to give it an actual name for this game as well, so Doodle Galaxy Invaders is its actual name, and we can localize the name as well by language. Down here for the copyright, put in your copyright. Add the content right in here. Well, it's not Invaders_Final. This is whatever the name of your swf file is.
Visibility is set to true, fullScreen, of course, is going to be true. It's going to go full screen by default, actually. We want to define whether it autoorients, so this might be false or it might be true. Well, I don't want this to autoOrient. In fact, I want its aspect ratio to be landscape, so I am just going to remove that or portrait. Next up, the rendermode, it's going to be CPU or GPU. GPU is the Graphics Processor Unit, so this going to help me basically optimize the graphics and use the actual hardware of the device to move all the graphics around.
So I want to change this to GPU, and you want to use GPU if you used any cacheAsBitmap calls, which I did earlier. customUpdateUI, well, it could be false or true. I am not going to worry about that updating UI at all. This isn't necessarily some rich Internet application; it's just going to be set to false. BrowserInvocation, false. Basically if you don't know what it is, you can set it to false, and right in here, here's where I define my icons, so that's why I moved them to the Desktop.
They are all in place. Know that these are the three sizes required, and they are in the appropriate location. And right down in here, this is where we get to the meat of this file, if you will. This is where I define all of my permissions. So when the user downloads this app, it's actually going to give them just a little pop-up that says, hey, you know what, this is going to access the Internet, for instance. So again, if my app needs to access the Internet, then I'd make sure this is in here.
But it doesn't, so I can remove it. Okay, right to the external storage, I don't need most of these, but I did keep them in here in case you were curious about using any one of these. You can read the PHONE_STATES, use the camera, record audio, all sorts of things. But specifically for this game, I want to just remove all of these, except for the WAKE_LOCK. So the WAKE_LOCK I want to keep, because again, it's using accelerometer, and I want to make sure that screen doesn't go to sleep.
All right, with that all done, all I need to do is just save this file, and it's all set up, so I'll just minimize that. All these files are ready. Now, the next step with these files is to take them all and package them up into an APK file, the actual app file that will go on a device.
Sign up for a Premium Membership to download courses for Internet-free viewing.
Watch offline with your iOS, Android, or desktop app.Start Your Free Trial
After signing up, download the course here or from the iOS/Android App.