PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SDL code lässt X fast Abstürtzen



locai
29-07-2004, 04:35
hoi,
Also ich hab mich grad mal nen bissel mitter SDL befasst und hab mal versucht ein kleinen jump-and-run spiel zu schreiben dafür habe ich fürs nachlinksgehen , nachrechtsgehen , springen usw. jeweils eine funktion geschrieben. wenn man dann die vigut so 30 sek brav übernbildschierm laufen lässt wird erst das spiel erst immer langsammer dann stockt meine musik und schließlich versagt auch der mauszeiger. Nach so 5 min wird dann das proc gekillt und es leuft wieder alles wie vorher. Ich hab allerdings keine ahnung was ich falsch gemacht habe. hier mal die funktion fürs nach rechts gehen:


void goRight() {
player = SDL_LoadBMP("ball.bmp");
SDL_Rect drect;
drect.x = quellcods.x;
drect.y = quellcods.y;
drect.w = player->w;
drect.h = player->h;


drect.x = drect.x +5;
quellcods.x = drect.x;
SDL_BlitSurface(player, 0, screen, &drect);
SDL_UpdateRects(screen,1,&drect);
SDL_Delay(15);

}

ich erkenne da keinen grund woran das liegt . Please help!

MFG

locai

locai
29-07-2004, 06:14
ich habs dochnoch rausgefunden er hatte wohl was dagegen das bei jeden 5 pixeln die sich die figur bewegt hat ein neues bild auf image gelegt wurde.

problem erkannt problem gebannt :D

axeljaeger
31-07-2004, 19:41
player = SDL_LoadBMP("ball.bmp");

das sieht wie Speicher reservieren aus. Man muss ja nicht bei jedem mal rechtsgehen die Bitmap neu laden. Außerdem wird sie hinterher nicht freigegeben. Das Programm isst Speicher und irgendwann mag der Kernel das nicht mehr.