Book Image

Beginning C++ Game Programming

Book Image

Beginning C++ Game Programming

Overview of this book

This book is all about offering you a fun introduction to the world of game programming, C++, and the OpenGL-powered SFML using three fun, fully-playable games. These games are an addictive frantic two-button tapper, a multi-level zombie survival shooter, and a split-screen multiplayer puzzle-platformer. We will start with the very basics of programming, such as variables, loops, and conditions and you will become more skillful with each game as you move through the key C++ topics, such as OOP (Object-Orientated Programming), C++ pointers, and an introduction to the Standard Template Library. While building these games, you will also learn exciting game programming concepts like particle effects, directional sound (spatialization), OpenGL programmable Shaders, spawning thousands of objects, and more.
Table of Contents (24 chapters)
Beginning C++ Game Programming
Credits
About the Author
About the Reviewer
www.PacktPub.com
Dedication
Preface
17
Before you go...

SFML Text and Font


Let's briefly discuss the Text and Font classes with some hypothetical code, before we actually go ahead and add code to our game.

The first step to drawing text on the screen is to have a font. In the first chapter we added a font file to the project folder. Now we can load the font, ready for use, into an SFML Font object.

The code to do so looks like this:

Font font; 
font.loadFromFile("myfont.ttf"); 

In the previous code we first declare the Font object and then load an actual font file. Note that myfont.ttf is a hypothetical font and we could use any font that is in the project folder.

Once we have loaded a font we need an SFML Text object:

Text myText; 

Now we can configure our Text object. This includes the size, the color, the position on screen, the string that holds the message, and, of course, associating it with our font object:

// Assign the actual message 
myText.setString("Press Enter to start!"); 
 
// assign a size 
myText...