[SDL/C++] Surface probleem

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Anoniem: 114421

Topicstarter
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:

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

Acties:
  • 0 Henk 'm!

Anoniem: 29252

Geen idee maar je checkt in elk geval niet de return waarde van BlitSurface....

Acties:
  • 0 Henk 'm!

Anoniem: 114421

Topicstarter
Ik heb al een oplossing gevonden, maar toch bedankt!

[ Voor 85% gewijzigd door Anoniem: 114421 op 21-05-2004 10:46 . Reden: heb al een oplossing gevonden ]