Unity Lab #4: User Interfaces

In the last Unity Lab you started to build a game, using a prefab to create GameObject instances that appear at random points in your game’s 3D space and fly in circles. This Unity Lab picks up where the last one left off, allowing you to apply what you’ve learned about interfaces in C# and more.

Your program so far is an interesting visual simulation. The goal of this Unity Lab is to finish building the game. It starts off with a score of zero. Billiard balls will start to appear and fly around the screen. When the player clicks on a ball, the score goes up by 1 and the ball disappears. More and more balls appear; once 15 balls are flying around the screen, the game ends. For your game to work, your players need a way to start it and to play again once the game is over, and they’ll want to see their score as they click on the balls. So you’ll add a user interface that displays the score in the corner of the screen, and shows a button to start a new game.

Add a score that goes up when the player clicks a ball

You’ve got a really interesting simulation. Now it’s time to turn it into a game. Add a new field to the GameController class to keep track of the score—you can add it just below the OneBallPrefab field:

    public int Score = 0;

Next, add a method called ClickedOnBall to the GameController class. This method will get called every time the player clicks on a ball:

    public void ClickedOnBall()
    {
        Score++;
    }

Unity makes it really easy for your GameObjects ...

Get Head First C#, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.