Ik ben net begonnen met SDL programmeren en ben nu een sprite class aan het schrijven. Ik krijg een probleem als ik het plaatje naar verschillende surfaces kopieeer, want op een of andere manier verschijn het goede plaatje niet op het scherm met de volgende code:
Als ik hem direct naar het scherm kopieeer, met de volgende code:
verschijnt er wèl een plaatje op het scherm, alleen dit is dus de hele bitmap, en niet alleen het goede stukje dat ik nodig heb. Als ik
doe heb ik wel het goede deel, maar dit is géén optie, omdat het de bedoeling is dat ik nog wat handmatige verandering aan sprite_surface aanbreng, voordag ik hem naar het scherm kopieeer. Dus, weet iemand hoe het komt dat het plaatje bij het eerste stukje code niet op het scherm verschijnt? Hij loopt trouwens niet vast, er verschijnt gewoon niets op de plek waar het moet verschijnen.
Alvast bedankt
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| // screen_surface is een pointer naar de hoofd-surface // source_surface is een tijdelijke surface om het plaatje met sprites in te laden // sprite_surface is een surface die alleen maar het goede spriteje bevat source_location->x = 1; source_location->y = 1; source_location->w = 25; source_location->h = 32; destin_location->x = 10; destin_location->y = 10; source_surface = SDL_LoadBMP("data/sprites.bmp"); SDL_BlitSurface(source_surface, source_location, sprite_surface, NULL); SDL_BlitSurface(sprite_surface, NULL, screen_surface, destin_location); |
Als ik hem direct naar het scherm kopieeer, met de volgende code:
code:
1
2
| source_surface = SDL_LoadBMP("data/sprites.bmp"); SDL_BlitSurface(source_surface, NULL, screen_surface, destin_location); |
verschijnt er wèl een plaatje op het scherm, alleen dit is dus de hele bitmap, en niet alleen het goede stukje dat ik nodig heb. Als ik
code:
1
2
| source_surface = SDL_LoadBMP("data/sprites.bmp"); SDL_BlitSurface(source_surface, source_location, screen_surface, destin_location); |
doe heb ik wel het goede deel, maar dit is géén optie, omdat het de bedoeling is dat ik nog wat handmatige verandering aan sprite_surface aanbreng, voordag ik hem naar het scherm kopieeer. Dus, weet iemand hoe het komt dat het plaatje bij het eerste stukje code niet op het scherm verschijnt? Hij loopt trouwens niet vast, er verschijnt gewoon niets op de plek waar het moet verschijnen.
Alvast bedankt