Book Image

Learning C# 7 By Developing Games with Unity 2017 - Third Edition

Book Image

Learning C# 7 By Developing Games with Unity 2017 - Third Edition

Overview of this book

Do you want to learn C# programming by creating fun and interactive games using the latest Unity 2017 platform? If so, look no further; this is the right book for you. Get started with programming C# so you can create 2D and 3D games in Unity. We will walk you through the basics to get you started with C# 7 and its latest features. Then, explore the use of C# 7 and its latest functional programming capabilities to create amazing games with Unity 2017. You will create your first C# script for Unity, add objects into it, and learn how to create game elements with it. Work with the latest functional programming features of C# and leverage them for great game scripting. Throughout the book, you will learn to use the new Unity 2017 2D tool set and create an interactive 2D game with it. You will make enemies appear to challenge your player, and discover some optimization techniques for great game performance. At the end, you will learn how to transform a 2D game into 3D, and you will be able to skill up to become a pro C# programmer with Unity 2017!
Table of Contents (23 chapters)
Title Page
Credits
About the Authors
About the Authors
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

Setting up the player starting position


Every time our game starts, we should reset all its conditions to the same state. We already mentioned that resetting the starting position of the Player game object would be a good start. Positions in the 3D world in Unity are described using Vector3 struct. Go ahead and type Vector3 in the Scripting Reference for a better understanding. This is complex stuff, so don't worry if you can't get it. All you need to know now is that Vector3 is made up of three floats describing x, y, and z positions in the space.

Let's go forward and perform some code changes to set up the Player position. In PlayerController, we will do the following:

  1. Add a private Vector3 type variable and call it startingPosition in PlayerController.
  2. Assign the startingPosition value taken from the Player game object world space position in the Awake method. This way, we will always store the initial position of the Player game object just after Unity starts executing the game.
  3. Rename the...