Librairie SDL

theidiot

Membre confirmé
1 Septembre 2004
41
0
45
j'ai réussi a installé SDL sur mon mac cela marche et j'ai une fenetre noir qui apparait. Le problème c'est que je cherche de l'imformation de l'utilisation sdl sur le site apple et je ne trouve pas.

pouvez vous m'aider??? :mouais:
 
euh en faite c'est une réponse plus précise que je cherche comme par exemple pourquoi je ne suis pas
capable de prendre le fichier que j'ai demandé. J'ai pourtant mis dans mon utilisateur par défaut.

voici mon code:

#include <stdlib.h>
#include <SDL/SDL.h>



int main(int argc, char *argv[])
{
SDL_Init (SDL_INIT_VIDEO); /* See documentation for details */
SDL_Surface *screen;
int done;
SDL_Event event;



/* Have a preference for 8-bit, but accept any depth */
screen = SDL_SetVideoMode(640, 480, 8, SDL_SWSURFACE|SDL_ANYFORMAT);
if ( screen == NULL ) {
fprintf(stderr, "Couldn't set 640x480x8 video mode: %s\n",
SDL_GetError());
exit(1);
}
printf("Set 640x480 at %d bits-per-pixel mode\n",
screen->format->BitsPerPixel);

SDL_Surface *image;

/* Load the BMP file into a surface */
image = SDL_LoadBMP("icon.bmp");
if (image == NULL) {
fprintf(stderr, "Couldn't load: %s\n", SDL_GetError());
return (0);
}

/*
* Palettized screen modes will have a default palette (a standard
* 8*8*4 colour cube), but if the image is palettized as well we can
* use that palette for a nicer colour matching
*/
if (image->format->palette && screen->format->palette) {
SDL_SetColors(screen, image->format->palette->colors, 0,
image->format->palette->ncolors);
}

/* Blit onto the screen surface */
if(SDL_BlitSurface(image, NULL, screen, NULL) < 0)
fprintf(stderr, "BlitSurface error: %s\n", SDL_GetError());

SDL_UpdateRect(screen, 0, 0, image->w, image->h);

/* Free the allocated BMP surface */
SDL_FreeSurface(image);

done = 0;
while ( !done ) {

/* Check for events */
while ( SDL_PollEvent(&event) ) {
switch (event.type) {

case SDL_MOUSEMOTION:
break;
case SDL_MOUSEBUTTONDOWN:
break;
case SDL_KEYDOWN:
/* Any keypress quits the app... */
case SDL_QUIT:
done = 1;
break;
default:
break;
}
}
}

/* Clean up the SDL library */
SDL_Quit();
return(0);
}
 
what did u say ?



de quel fichier tu parles


ca


image = SDL_LoadBMP("icon.bmp");
if (image == NULL) {
fprintf(stderr, "Couldn't load: %s\n", SDL_GetError());
return (0);
}

?
 
c'est un image bitmap. Mais maintenant ca marche mais seulement appartir de mon fichier executable et non lorsque je compile. Je sais que c'est une erreur de lien mais meme si je le met par défaut dans mon utilisateur il ne detecte pas le fichier lorque que je compile. C'est un peu embêtant si je veux voir un résultat direct.
 
ok c'est un probleme de target des xcode ou du project builder
ca m'arrive desfois je fais enregistrer sous le projet autre part
et cela règle souvent ce genre de truc

c'est souvent un probleme d'indexation par le project builder quand tu déplaces ton projet ou
ajoutes des fichiers sans les copier au sein du proj
 
Le probleme est bcp plus simple, il execute pas le fichier dans le repertoir du projet, mais dans un sous repertoire build...
donc forcement il trouve pas les fichiers:p