Building and Monetizing Game Apps for Android
Illustration by Don Barnett

Displaying the player's score


From:

Building and Monetizing Game Apps for Android

with Todd Perkins

Video: Displaying the player's score

Now that we can handle tapping the moles, we will look at giving the player a point each time the player taps on a mole. So go into ccTouchesBegan and inside of the CCRectContainsPoint if statement right under mole->wasTapped let's tell the game that the players scored. We will do that by communicating to the hudLayer. Utils::hudLayer()->didScore. Save the file and go over to HUD.h. Here are the properties and methods for the HUD class. Let's go into HUD.cpp and you will see that it's pretty much blank.
Expand all | Collapse all
  1. 5m 1s
    1. Welcome
      59s
    2. Using the exercise files
      2m 36s
    3. What you should know before starting this course
      25s
    4. Viewing the finished game
      1m 1s
  2. 19m 49s
    1. Understanding and downloading Cocos2d-x
      2m 16s
    2. Downloading the Android NDK
      1m 49s
    3. Creating a Cocos2d-x project template for Eclipse
      4m 51s
    4. Finishing the project template
      1m 4s
    5. Preparing Eclipse to use C++
      1m 9s
    6. Importing the project into Eclipse
      3m 48s
    7. Adding GLES 2.0 support to your emulator
      3m 45s
    8. Fixing additional compiler issues
      1m 7s
  3. 52m 7s
    1. Understanding scenes, layers, and sprites
      2m 16s
    2. Using scenes, layers, and sprites
      3m 58s
    3. Positioning sprites
      1m 4s
    4. Adjusting basic sprite properties
      5m 32s
    5. Handling touches
      3m 54s
    6. Accessing accelerometer data
      6m 7s
    7. Understanding Cocos2d actions
      2m 37s
    8. Working with sprite sheets
      4m 28s
    9. Creating simple frame animations
      3m 44s
    10. Setting a game to display in portrait mode
      54s
    11. Designing for multiple screens
      3m 20s
    12. Running Java code from C++
      5m 21s
    13. Running C++ code from Java
      3m 31s
    14. Using buttons
      3m 34s
    15. Playing audio
      1m 47s
  4. 17m 0s
    1. Viewing a flowchart of the game's core classes
      1m 25s
    2. Creating constants and editing the AppDelegate and Main classes
      4m 8s
    3. Building the GameButton class
      3m 38s
    4. Constructing the custom pop-up menu utility
      2m 52s
    5. Setting up the code in the MainMenu class
      2m 10s
    6. Making the Utils class
      2m 47s
  5. 53m 13s
    1. Adding the game layers and the background
      5m 41s
    2. Laying out moles in the Game class
      4m 45s
    3. Animating the moles
      5m 44s
    4. Displaying moles at a specified time interval
      4m 39s
    5. Handling touches in the game
      4m 11s
    6. Displaying the player's score
      4m 2s
    7. Handling misses
      6m 27s
    8. Controlling the number of moles on the screen
      2m 25s
    9. Adding sound
      2m 31s
    10. Enabling a pause feature
      5m 36s
    11. Displaying the game-over screen
      3m 13s
    12. Saving the player's high score
      3m 59s
  6. 6m 53s
    1. Preparing your game to support Google ads
      3m 14s
    2. Implementing Google ads in your game
      3m 39s
  7. 18m 9s
    1. Handling skins in your game code
      4m 55s
    2. Setting up in-app purchases (IAP) for an Amazon Appstore app
      3m 1s
    3. Implementing Amazon IAP code
      4m 11s
    4. Setting up IAP for Google Play
      2m 38s
    5. Implementing Google Play IAP code
      3m 24s
  8. 2m 56s
    1. Using the Cocos2d-x website
      1m 13s
    2. Viewing additional Android game development resources
      1m 43s
  9. 29s
    1. Goodbye
      29s

Start your free trial now, and begin learning software, business and creative skills—anytime, anywhere—with video instruction from recognized industry experts.

Start Your Free Trial Now
please wait ...
Watch the Online Video Course Building and Monetizing Game Apps for Android
2h 55m Intermediate Mar 22, 2013

Viewers: in countries Watching now:

Discover how to build an Android game and distribute it in the Google Play app store, using Cocos2d-x and the Eclipse Platform. Plus, author Todd Perkins shows how to monetize your game further with income from Google Mobile ads. The course demonstrates how to install and set up your coding environment; build the game's core scenes, layers, and sprites; handle touch and accelerometer data; create classes based on a detailed game flow chart; and manage misses, wins, and scores. Last, you'll prepare your game to support Google ads and in-app purchases.

Topics include:
  • Installing and downloading Cocos2d-x
  • Positioning sprites and adjusting their properties
  • Creating simple frame animations
  • Designing for multiple screen sizes
  • Adding buttons
  • Incorporating audio
  • Creating the core classes and constants
  • Adding the game layers and background
  • Displaying challenges at timed intervals
  • Displaying the player's score
  • Enabling a pause feature
  • Enabling ads and in-game purchases for Google Play and the Amazon Appstore for Android
Subject:
Developer
Software:
Android Cocos2d
Author:
Todd Perkins

Displaying the player's score

Now that we can handle tapping the moles, we will look at giving the player a point each time the player taps on a mole. So go into ccTouchesBegan and inside of the CCRectContainsPoint if statement right under mole->wasTapped let's tell the game that the players scored. We will do that by communicating to the hudLayer. Utils::hudLayer()->didScore. Save the file and go over to HUD.h. Here are the properties and methods for the HUD class. Let's go into HUD.cpp and you will see that it's pretty much blank.

In the init method, we will set score to 0 and we will create a float called padding and set it equal to 10, and that we will define the score label. scoreLabel = CCLabelTTF::create and we will start by passing in the string 0, it's what's going to be inside of the text field. Next parameter is going to be a string, so CCString and we will run it's createWithFormat method, and first we will pass in %s and then .ttf. And we are going to grab that font after the Comma (,) by using our constant value FONT_MAIN.

After that close parentheses, we will run getCString and then a comma after that and the last parameter is the size of the text field. So it's going to be 24*Utils::getArtScaleFactor. Go to the next line; here we are going to set the anchor point, that's the XY origin. scoreLabel->setAnchorPoint and this is based on a percentage, so if you want to have it be in the center it's 0.5, 0.5.

So there is the X origin and the Y origin that we pass in as the ccp. What we wanted to do is stick at the top left of the screen, so we are going to use a top left XY origin. So X origin of 0 which represents the left edge of the object and a Y origin of one, which represents the top edge. Now we do this because we have less math to calculate if we give it a registration point that's appropriate for its position. Let's go down to the next line and set the scale.

So scoreLabel->setScale and then we pass in Utils::getScale. On the next line we are going to set its position. So scoreLabel->setPosition and the position is going to be ccp of course, and the X position is going to be padding. Remember we have that left edge of the stage as a registration point, so it's going to be 10 points from the left edge of the screen and then for its Y position, we are going to get the height of the screen, so Utils::s().height-padding.

So it will be 10 points from the top of the screen. Now we want to add it as a child of the hud, so this->addChild, pass in scoreLabel and then the Z position which we will set at 1, and then scroll down to didScore; remember this is going to run once the mole was tapped as we defined in the game class. So we are just going to increment score by 1 and then set the text to the scoreLabel. So scoreLabel->setString and then we are going to pass in the string which is going to be a formatted CCString.

So CCString::createWithFormat and that's going to be just the number of the score. So %d and then after the close quotes of the string, score after a comma and then we are going to run getCString and that's it, just pass in the score of the string, it's going to increment every time we tap a mole, so hit Save and test this out in the Emulator. So now I will run the app in the Emulator and when I hit Play you will see the moles moving up and down as they should and when I click on them, you will see the score going up.

Now I will go back into the code, and now we have a system to calculate the player's progress as they play through the game.

There are currently no FAQs about Building and Monetizing Game Apps for Android.

 
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.

* Estimated file size

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 Building and Monetizing Game Apps for Android.

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 ?

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 preferences from 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.

Learn more, save more. Upgrade today!

Get our Annual Premium Membership at our best savings yet.

Upgrade to our Annual Premium Membership today and get even more value from your lynda.com subscription:

“In a way, I feel like you are rooting for me. Like you are really invested in my experience, and want me to get as much out of these courses as possible this is the best place to start on your journey to learning new material.”— Nadine H.

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.