Input handling
We have now got our objects moving based on velocity and acceleration, so next we must introduce some way of controlling this movement through user input. SDL supports a number of different types of user interface devices including joysticks, gamepads, mouse, and keyboard, all of which will be covered in this chapter, along with how to add them into our framework implementation.
Creating our input handler class
We will create a class that handles all device input, whether it is from controllers, keyboard, or mouse. Let's start with a basic class and build from there. First we need a header file, InputHandler.h
.
#include "SDL.h" class InputHandler { public: static InputHandler* Instance() { if(s_pInstance == 0) { s_pInstance = new InputHandler(); } return s_pInstance; } void update(); void clean(); private: InputHandler(); ~InputHandler() {} static InputHandler* s_pInstance; }; typedef InputHandler TheInputHandler;
This is our singleton...