000
03.08.2007, 16:17 Uhr
~Walter
Gast
|
Also gut, ich habe hier noch ein Problem... wahrscheinlich ziemlich billig, aber ich habe kein Nerv mehr.. seit 5 Stunden grübele ich herum, komme aber nicht drauf.
Ich habe ein String der Länge 1200 (also 1200 Buchstaben).
Für diese erstelle ich jeweils eine Oberfläche:
Code: |
/* Creating surfaces for every letter */ for (i=0; i < stringlaenge; i++) { letter[0] = string[i]; letter[1] = '\0'; letter_surf[i] = TTF_RenderText_Solid(font, letter, white); letter_rect[i].w = letter_surf[i]->w; letter_rect[i].h = letter_surf[i]->h; }
|
Kann ich diesen Text auch wunderbar von rechts nach links scrollen lassen, hiermit
Code: |
while(!keypressevent()){
for (i=0; i < stringlaenge; i++) SDL_FillRect(screen, &letter_rect[i], black);
for (i=0; i < stringlaenge; i++) { if (i==0){ xpos = first_xpos; } letter_rect[i].x = xpos; xpos +=weite; letter_rect[i].y = ypos; SDL_BlitSurface(letter_surf[i], NULL, screen, &letter_rect[i]);
} first_xpos -= geschwindigkeit; SDL_Flip(screen);
}
|
Jetzt kommts aber:
Wenn mein String nun sagen wir mal 5000 Buchstaben enthalten soll, geht das nicht.. Das liegt an der xpos, die dann für ein int zu groß wird.
Nun meine Frage:
Kennt sich einer von euch aus, wie ich es anstellen soll, dass ich auch 5000 Buchstaben auf dem Bildschirm darstellen kann.
Und ja, es müssen die einzelnen Buchstaben sein, weil ich die Position der einzelnen Buchstaben zu jedem Zeitpunkt bestimmen muss.
Um eine Hilfe wäre ich sehr dankbar.
Gruß Walter |