donc voila j´ai un autre problème. j´ai fait une classe sprite pour m´aider a mieux gerer mes images mais le programme n´affiche pas l´image que je lui demande d´afficher pourquoi??
voici mon main:
- include < SDL/SDL.h>
- include " sprite.h"
SDL_Event event;
SDL_Surface *screen;
Uint8 *key;
void init()
{
SDL_Init(SDL_INIT_VIDEO);
screen =
SDL_SetVideoMode(800,600,32,SDL_HWSURFACE|SDL_DOUB
LEBUF);
SDL_ShowCursor(0);
}
void boucle()
{
sprite palette;
bool done = false;
palette.load("D:/graphique jeux/p1.bmp");
while(!done)
{
while(SDL_PollEvent(&))
{
key = SDL_GetKeyState(NULL);
switch(event.type)
{
case SDL_QUIT:
done = true;
}
if(key[SDLK_ESCAPE])
{
done = true;
}
}
palette.move(1,screen);
}
}
int main(int argc, char **argv )
{
init();
boucle();
return 0;
}
voici la classe sprite:
- define SPRITE_H
- include < SDL/SDL.h>
class sprite
{
private://membre privé
int x,y;
Uint8 *keys;
SDL_Rect r1;
SDL_Surface *preimage;
public://membre public
sprite()
{
keys = SDL_GetKeyState(NULL);
x = 0;
y = 0;
r1.x = 0;
r1.y = 0;
r1.w = preimage->w;
r1.h = preimage->h;
}
void load(char *fichier)//gere le chargement
{
preimage = SDL_LoadBMP(fichier);
SDL_SetColorKey(preimage, SDL_SRCCOLORKEY, SDL_MapRGB(preimage->format, 255, 0, 255));
}
void move(int speed, SDL_Surface *target)// gere le déplacement
{
if(keys[SDLK_UP])
{
if(y ! = 0)
{
y=y-1;
r1.y = y;
}
}
if(keys[SDLK_DOWN])
{
if(y ! = 600 -r1.h)
{
y=y+1;
r1.y = y;
}
}
SDL_BlitSurface(preimage,NULL,target,NULL);
SDL_Flip(target);
}
};
- endif
voila j´attend vos réponses