Teil 7: Tastaturabfrage
Hier siehst du unser neues Spielzeug, den Gleiter des Spielers:
TODO
Bevor wir dieses Ding steuern können, brauchen wir allerdings noch ein bischen Input von der Tastatur. Wenn wir uns die SDL Dokumentation mal anschauen, wird schnell klar, was wir brauchen. Wir fangen wie gehabt die SDL_KEYDOWN und zusätzlich die SDL_KEYUP Nachricht ab und speichern den Status jeder Taste in einem bool Array. Die Tastaturkonstanten stehen in der SDL Include-Datei SDL_keysym.h. Am Ende der Enumerierung bescheren sie uns sogar ein SDLK_LAST, womit klar ist, wie groß unser Array sein muß. Als Datenhaltungsklasse implementieren wir wieder ein kleines Singleton, das nichts weiter macht, als sich den Zustand einer Taste zu merken. Diesmal landen die folgenden zwei Dateien im Verzeichnis /core.
Datei /core/KeyboardManager.h
Die Implementierung der Funktionen ist entsprechend trivial:
Datei /core/KeyboardManager.cpp
Nun muß noch das Hauptprogramm erweitert werden, so daß die SDL_KEYDOWN und SDL_KEYUP Nachrichten abgefangen werden. Außerdem muß die Singleton-Instanz beim Programmende zerstört werden. Die Änderungen siehst Du hier:
Datei /Main.cpp
Das Zerstören der Instanz habe ich übrigens auch beim GameManager vergessen, das ist dann hiermit nachgeholt ;) Zum Thema Memory Leaks werde ich später sicher auch nochmal was loswerden.
Im nächsten Teil werden wir die Tastatur dann auch mal direkt in den Einsatz bringen.
Popularity: 1%


