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

Moving the player

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

Video: Moving the player

The foundation of pretty much any game is going to be how the player moves, and in this case, what I want to do is I want the player to move from left to right, the X position, based on the mouse position. So again, I'm going to go ahead and move this player spaceship to the left and right based on the mouse position. But the first thing I need to do is I'm going to dynamically add this player to the stage when it's time to play the game, okay, and I'm going to use code snippets to do this.

Moving the player

The foundation of pretty much any game is going to be how the player moves, and in this case, what I want to do is I want the player to move from left to right, the X position, based on the mouse position. So again, I'm going to go ahead and move this player spaceship to the left and right based on the mouse position. But the first thing I need to do is I'm going to dynamically add this player to the stage when it's time to play the game, okay, and I'm going to use code snippets to do this.

So with the Code Snippets panel opened, I'm going to go down to Add from Library, because I want to add that player from the library, and I'll just double-click that code snippet and it adds it into my Actions frame1 is where it puts it. And let's go ahead and take a look at this code, because currently it defines a variable, because I need to give this a variable name and make sure Flash knows that it's a MovieClip. Okay, so right up here, I'm just going to call this player.

And where do all my variables go? Well, they go near at the top, so I'm going to cut out that variable, scroll up to the top. It goes to the top of my Actions panel, right here. So this player variable is a MovieClip, so I'm telling Flash that's what it is, and that's how it's going to treat it. Next up, it says in the library set a movieclip linkage property to Player, okay. So I'm just going to go ahead and pin this code--again, make sure that code is pinned so it doesn't move--and I'm going to go over to my Properties panel, and I'm going to select the Library tab, and you can see that the player MovieClip is selected and its linkage property is Player, okay capital P. So that's what I'm referencing is that name right there, okay? So again, back in my code it says, new Player, capital P, those names will match up and create the instance based on that library item.

It's the equivalent of just taking that MovieClip and dragging it onto the stage. So player = new Player(). Well, let's go ahead and move this into place, because when do we want this to happen? Well, we want that to happen when the game first starts. So I'm going to cut this line of code, and I'm going to scroll up, and within initialize game, the initGame, I'm just going to hit Enter, hit Tab, and paste in that right there.

So right here, that's what's happening: 'Pulling in the Player from the library'. So that gets initialized. The player is going to appear on the stage, but right in here, this is what we need to create the various player properties, and various things that the player can do. Okay, so start player. We want to really start its movement. So let's scroll down. That's where I'm going to add these two lines.

I'm going to cut them. I'll just delete those lines as well. But again, those last two lines are going to go right in here. So create the player and the properties is what's going on right in here. I'll paste those lines in, hit Tab, and let's go ahead and review this code. I'll expand it out a little more. Okay, we're creating the player, so the instance name here, well, that's player. Okay, so again, it was created right here, and then I'm setting the player's Y position, so up and down where it is vertically. It's going to make it equal to the stage height, so if I make it equal to the stage height, it's actually going to push it off the stage, so I need to make it equal to the stage's height minus the player's height.

So again, if you take a look at the Library panel, this dot right here, I need to take in account of the height of this graphic. So I need to subtract to that from the player height, and it basically pushes it up into view. So that's perfect. It dynamically gets added, and sure enough, addChild, what do we want to add? The player. So this is technically where the player appears. You can set various properties before you actually see the player, but this is where the player actually appears.

Okay, so the next thing we need to do is we want this player to move, so let's go ahead and add some motion based on the mouse position. So under the Mobile Game folder in my Code Snippets panel, Move using the Mouse. That's exactly what I want to do. I'll double-click on that. It adds this Enter_Frame right here, okay. So I'm just going to go ahead and cut this, and I'm going to move it up to into position, right underneath Start_Player right in here. Okay, so at about line 88, I'm going to paste that in, okay.

But I don't want this to just start firing off immediately, because this player hasn't been added yet using addChild. So I actually want to take this Enter_ Frame EventLlistener and I need to move it up into here, because this is where I define the properties, and this is where it gets added to the stage, and then he's going to start moving using this movePlayer function. So right down here, for this instance name here, again, we're using the player, move its X Position based on the stage's mouseX position, so as I move back and forth, the player is going to drop into place.

Now I am talking about of course a mobile game, and again, if the user touches the screen, that's considered a mouse position. So as you can hear that mouse X, again it'll work on mobile devices. Next up, we set up a couple boundaries, so we need to make sure that it doesn't go off the right or left side, and sure enough, right in here, if the player's X position is less than zero-- and I'll just copy this name-- then make its X position equal to zero. So keep it from going off the left-hand side. Otherwise, if the player's X position is greater than the stageWidth minus the player.width--so again, it's off to the right-hand side--make sure you stop it accordingly as well.

Make this player's X position equal to the stageWidth minus the player.width. So oftentimes these two will be the same. You're doing a check to see if it's going beyond a certain point and then you're making sure you stop it at that point. All right, with that in place, we'll just do one more quick change, and we'll go ahead and see this player move, and that last change is basically going to be commenting out some code. So I'm going to scroll down, this gameState, STATE_END_GAME, well, I don't want to game to end, so I'm just going to comment that out by putting two forward slashes in front of it, okay.

So now we're going to get the opportunity to move around that player, so let's go to Control > Test Movie > Test. There is our animation. We'll click Play, and there is our player. We can see it move with the mouse. As the mouse moves around, we can see that player move. I'm going to try to go off the left-hand side, and you can see it stop. It stops right there. Let's try to go off the right-hand side. You can see it stopped right there as well.

A little bit of overlap, but again, I can just adjust this graphic, and it will be fine. This is how basic game movement can be done. Based on the mouse position, it's really just a matter of defining or getting that Mouse X position in this case, and making sure your player is equal to that Mouse X position.

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.