You are not logged in.

  • Login

1

Friday, December 31st 2010, 2:54pm

SDL Key-Events

Hallo!
Ich programmiere momentan mit der SDL ein 2D "Spiel" (würde gerne zu DirectX wechseln, aber finde kein gescheites Tut für 2D-Programmierung mit DirectX, mein Buch sagt da auch nur 3D Zeug....) und möchte nun eine 2. Figur durch die Tasten "WASD" bewegen lassen können. Ich habe schon in der Dokumentation geguckt, wie das zugehörige SDLK_ heißt, aber ich finde da nur die anderen Tasten. Also: Shift, Links, Rechts, Oben, Unten, Back-Space, Spac, Alt, FN, Strg, usw.
Könnte mir hier jemand zeigen wie ich in einer if-Bedingung dem Programm/der SDL beibringe, das es/sie beim Tastendruck "W/A/S/D" sonst wo hin laufen soll?
Habe das ganze schon mit den Pfeiltasten, nur möchte ich, wie schon gesagt, eine 2. Figur einführen die man mit "WASD" bewegen kann.

This post has been edited 1 times, last edit by "Checkmateing" (Jan 2nd 2011, 12:15pm)


2

Friday, December 31st 2010, 3:08pm

Schon gefunden den Fehler.
Habs groß geschrieben.... :D

3

Saturday, January 1st 2011, 6:48pm

Wenn du SDL gewohnt bist, wirst du dich bei DirectX stark wundern, weil ich will jetzt nicht sagen das es kaputt ist (sagen != denken), aber es ist schon einige level schwieriger das zu programmieren, weil SDL einem wirklich enorm viel Arbeit abnimmt.

Und wenn du schon selbst na lösung gefunden hast, dann poste die doch, damit leute die das Selbe Problem haben eine Lösung finden. Vielleicht kann auch jemand ne verbessrung einbringen, dann hat jeder was davon.

4

Sunday, January 2nd 2011, 12:05pm

Das mit DirectX ist mir egal. Ich finde DirectX einfach enorm besser.

Hab ich eigentlich....
Um es verständlicher zu machen:
Jeder der die Tasten Q;W;E;R;T;Z;U;I;O;P;A;S;D;F;G;H;J;K;L;Y;X;C;V;B;N;M in der SDL besetzen möchte, der schreibt in der case/if Bedingung dann an der Stelle wo SDLK geboten wird, einfach den jeweiligen Namen der Buchstaben-Taste. Aber klein geschrieben, nicht groß. -Das war mein Fehler. :D
Alle anderen Tasten sind eigentlich immer groß geschrieben. Z.B. SDLK_ESCAPE, SDLK_BACKSPACE, SDLK_SHIFT usw.

Similar threads

Social bookmarks