SDL Screen funktioniert nur 5 Sekunden
-
Hallo,
ich bin C++ Anfänger und ich versuche gerade mit SDL ein kleines Spiel zu programmieren.
Bisher habe ich einen Fenster, in dem sich ein blaues Rechteck jede Sekunden ein Stück nach rechts verschieben soll, und das solange, wie ich in meiner for-Schleife angeben.Zum Problem: Das Fenster bleibt zwar so lange geöffnet, wie ich es will, allerdings hört nach 5 Sekunden das Rechteck ohne (für mich) ersichtlichen Grund auf, sich zu bewegen. Hat jemand eine Idee, warum das so ist?
int main(int argc, char *argv[]){ SDL_Surface *pScreen; SDL_Rect Rect; Rect.x = 10; Rect.y = 10; Rect.w = 10; Rect.h = 10; Timer MyTimer; SDL_Init (SDL_INIT_VIDEO | SDL_INIT_TIMER); pScreen = SDL_SetVideoMode (800, 600, 16, SDL_HWSURFACE | SDL_DOUBLEBUF | SDL_FULLSCREEN); for (int i = 0; i < 20; i++){ MyTimer.warte(); SDL_FillRect (pScreen, NULL, SDL_MapRGB (pScreen->format,0,0,0)); SDL_FillRect (pScreen, &Rect, SDL_MapRGB (pScreen->format,0,0,250)); Rect.x = Rect.x + 10; if (i == 4) {SDL_FillRect (pScreen, &Rect, SDL_MapRGB (pScreen->format,0,250,0));} cout << Rect.x << endl; SDL_Flip(pScreen); } SDL_Quit(); return 0; }
"Timer" ist eine kleine Klasse, die die Zeit messen kann. Hab sie hier weggelassen, da sie einwandfrei funktioniert.
Schonmal danke für eure Mühen und ich entschuldige mich, falls dass das falsche Froum war. Ich dachte, hier wärs am besten aufgehoben.
Gruß, Knobbers
-
Das Thema gehört weniger zu Standard-C++ als vielmehr zur Grafikprogrammierung -> biett vorm Posten die mit wichtig gekennzeichneten Threads lesen!
-
Dieser Thread wurde von Moderator/in pumuckl aus dem Forum C++ in das Forum Spiele-/Grafikprogrammierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.