Difference between revisions of "Intermediate C++ Game Programming Tutorial 12"
From Chilipedia
(→Video Timestamp Index) |
(→Video Timestamp Index) |
||
| Line 16: | Line 16: | ||
* Give it a test run: have an animated sprite follow the cursor [https://youtu.be/KXn7-5zg3J4?t=8m00s 8:00] | * Give it a test run: have an animated sprite follow the cursor [https://youtu.be/KXn7-5zg3J4?t=8m00s 8:00] | ||
* Implementing the <code>Character</code> class [https://youtu.be/KXn7-5zg3J4?t=11m05s 11:05] | * Implementing the <code>Character</code> class [https://youtu.be/KXn7-5zg3J4?t=11m05s 11:05] | ||
| + | * Using an <code>enum class</code>, namecode the different animation sequences [https://youtu.be/KXn7-5zg3J4?t=11m49s 11:49] | ||
== Source Code == | == Source Code == | ||
Revision as of 03:33, 9 September 2019
In this tutorial Chili shows us an example of how to create a class for an animated sprite, and how to use a collection of these animated sprites to create a walking character class.
Contents
Topics Covered
- Animated sprite class design
- Walking character class design
Notes
The technique we use of storing a reference to Surface in each Animation object will work for now, but it will cause us a pain in the dick in the future when we start using our characters in containers like std::vector. The reason for this is because you cannot assign a reference to refer something else after it has been bound, and so the compiler cannot generate copy assign for us by default. We will fix this problem when it becomes an issue for us (in the Action RPG Project).
Video Timestamp Index
- Introducing the
CharacterandAnimationclasses 0:20 - Creating header file for the
Animationclass 0:49 - Implementing the
Animationclass 3:30, constructor implementation at 5:15 - Copy the FrameTimer class used in earlier tutorials 7:35
- Give it a test run: have an animated sprite follow the cursor 8:00
- Implementing the
Characterclass 11:05 - Using an
enum class, namecode the different animation sequences 11:49
Source Code
Download Materials
Homework
None!