Char* Eingabe mit SDL
-
Ich versuch grad ein Menü für ein Spiel zu Programmieren. Wie kann man z.B. einen Namen eingeben in SDL? Das versteh ich irgendwie nicht. Die ttf lib hab ich drin und ich kann auch sachen ausgeben, nur beim eingeben hakts.
-
die sdl-events angucken und feststellen, ob eine taste gedrueckt worden ist.
-
Oder du machst es so wie immer, nur das ist es halt nicht so portabel.
Bye, TGGC (Das Eine, welches ist.)
-
Also, so würd ich das machen.
Strktur anlegen
struct text_field { int x; //x-Position int y; //y-Position int w; //Breite int h; //Höhe char content[32]; //Inhalt }Variablen
text_field *selected; text_field name;Überprüfen ob Button geklickt(in SDL_MOUSEBUTTONDOWN)
if(((event.button.x > name.x)&&(event.button.x < name.x + name.w)&&((event.button.y > name.y)&&(event.button.y < name.y + name.h))) { select = &name; } else { select=NULL; }in SDL_Keydown
if(select != NULL) switch(event.key.sym.keysym) { case SDLK_A: strcat(select->name, "a"); break; case //... andere Tasten }Und beim Rendern
SDL_BlitSurface(text_field_Background, NULL, window, /*SDL_Rect mit Position*/); SDL_Print(name.content, name.x, name.y); //ka wie die heißt