Difference between revisions of "Beginner C++ Game Programming Tutorial 4"
From Chilipedia
Line 9: | Line 9: | ||
== Video Timestamp Index == | == Video Timestamp Index == | ||
− | * Intro [https://youtu.be/ | + | * Intro [https://youtu.be/UrK_KPYej3w 0:00] |
− | * Keyboard Ghosting [https://youtu.be/ | + | * Keyboard Ghosting [https://youtu.be/UrK_KPYej3w?t=0m29s 0:29] |
− | * Animation and double buffering [https://youtu.be/ | + | * Animation and double buffering [https://youtu.be/UrK_KPYej3w?t=1m15s 1:15] |
− | * Animation sequence in the Framework [https://youtu.be/ | + | * Animation sequence in the Framework [https://youtu.be/UrK_KPYej3w?t=4m54s 4:54] |
− | * Variable scope (lifetime) [https://youtu.be/ | + | * Variable scope (lifetime) [https://youtu.be/UrK_KPYej3w?t=7m28s 7:28] |
− | * Difference between object and <code>class</code> [https://youtu.be/ | + | * Difference between object and <code>class</code> [https://youtu.be/UrK_KPYej3w?t=9m15s 9:15] |
− | * Difference between .h and .cpp source files [https://youtu.be/ | + | * Difference between .h and .cpp source files [https://youtu.be/UrK_KPYej3w?t=10m25s 10:25] |
− | * Adding member variable to a <code>class</code> [https://youtu.be/ | + | * Adding member variable to a <code>class</code> [https://youtu.be/UrK_KPYej3w?t=11m15s 11:15] |
− | * Variable scope name hiding [https://youtu.be/ | + | * Variable scope name hiding [https://youtu.be/UrK_KPYej3w?t=11m42s 11:42] |
− | * Member access for members of same <code>class</code> [https://youtu.be/ | + | * Member access for members of same <code>class</code> [https://youtu.be/UrK_KPYej3w?t=13m12s 13:12] |
− | * Homework [https://youtu.be/ | + | * Homework [https://youtu.be/UrK_KPYej3w?t=13m54s 13:54] |
== Homework == | == Homework == |
Revision as of 21:40, 14 August 2016
In this tutorial explore the ideas animation in computer graphics and we make the reticle move freely around the screen. Along the way we learn how to add member variables to objects/class
es, we learn about .h (header) and .cpp files, we learn about the short harsh lives of variables (scope), and I make a joke in very bad taste. All par for the course!
Concepts Taught
- Animation and double buffering
- Difference between .h and .cpp files
- Difference between a
class
and an object - Adding member variables to a
class
- Variable scope
Video Timestamp Index
- Intro 0:00
- Keyboard Ghosting 0:29
- Animation and double buffering 1:15
- Animation sequence in the Framework 4:54
- Variable scope (lifetime) 7:28
- Difference between object and
class
9:15 - Difference between .h and .cpp source files 10:25
- Adding member variable to a
class
11:15 - Variable scope name hiding 11:42
- Member access for members of same
class
13:12 - Homework 13:54
Homework
This lesson has three homework problems. Feel free to attempt any or all of them.
- Separate the game logic code from the drawing code. The game logic code should go in the
Game::UpdateModel()
member function, and the drawing code should remain inGame::ComposeFrame()
. - Change the behavior of the reticle so that it moves at a velocity that is controlled with the arrow keys. This means that the arrow keys don't control direction of movement, but that they control the acceleration.
- Make it so that the acceleration of the reticle is more controllable. How this is accomplished is left up to you. Full marks for using only concepts introduced so far ;)
The solutions will be given in a future video whose link will be posted here.