SDL Steuerungsveränderung?
-
wie bekommt man es mittels sdl hin, das der anwender die steuerung des programms verändern kann. also dass er in den optionen einstellt "nach vorne laufen is jetzt nicht mehr w sondern pfeil nach oben".
-
indem du nicht mit konstanten vergleichst, sondern mit variablen die der benutzer setzen kann.
-
Ehrr, was hat das jetzt nochmal mit SDL zu tun?
Bye, TGGC (You don't get it and never will)
-
DrGreenthumb schrieb:
indem du nicht mit konstanten vergleichst, sondern mit variablen die der benutzer setzen kann.
in welche variable kann ich denn werte wie "SDLK_UP" speichern?
funktioniert das mit strings?
also
[cpp]
case stringindemnachobengespeichertist:
break;
[cpp]wenn im string steht "SDLK_UP" ?
das probelm bei mir ist nämlich dass wenn ich mit nem string vergleiche, nichts passiert wenn ich nach oben drücke
-
-
mal ein beispiel:
... int main(int argc, int *argv[]) { string keystring; ... while(running) { ... uint8 *keys; keys=SDL_GetKeyState(NULL); //Optionen/Steuerung/Steuerung einstellen //Für "nach vorne laufen" while(SDL_PollEvent(&event) { switch(event.type) { case WM_KEYDOWN: if(keys[SDLK_UP]) { keystring="SDLK_UP"; } if(keys[SDLK_DOWN]) { keysting="SDLK_DOWN"; } etc... } } return 0; }so funktioniert das bei mir allerdings nicht
-
SDLKey EVENT_MOVE_FORWARD = SDLK_UP;
SDLKey EVENT_MOVE_LEFT = SDLK_LEFT;...
while(SDL_PollEvent(&event)){
switch(event.type){
case SDL_KEYDOWN:
if(event.key.keysym.sym == EVENT_MOVE_LEFT)
move_left();
break;
.
.
.
}
}...
-
Strings sind nicht nötig, geht aber prinzipiell auch. Du machst etwas flasch.
Bye, TGGC (You don't get it and never will)