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%


Write a Comment

Take a moment to comment and tell me what you think. Some basic HTML is allowed for formatting.

Reader Comments

Be the first to leave a comment!




FireStats icon Powered by FireStats