[SDL]probléme avec l'affichage

Sega24 Messages postés 4 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 12 juin 2010 - 17 juil. 2009 à 20:24
cs_faucheuse Messages postés 308 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 27 octobre 2011 - 20 juil. 2009 à 12:23
bonjour à tous,
je suis débutant en programmation et je viens de faire un code SDL en vu d'un projet mais je n'arrive pas a avoir les images malgré que la compilation se déroule correctement et l'execution aussi.


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


void pause();

int main(int argc, char *argv[])
{

     SDL_Surface *ecran NULL, *imageDeFond NULL;

    SDL_Rect positionFond;


    positionFond.x = 0;
    positionFond.y = 0;



    SDL_Init(SDL_INIT_VIDEO); // Initialisation de la SDL

     /* Chargement de l'icône AVANT SDL_SetVideoMode */
    SDL_WM_SetIcon(SDL_LoadBMP("alarm.bmp"), NULL);
    if(imageDeFond == NULL)
{
    printf("Erreur lors du chargement de l'image de fond !\n");
}
else
{

    SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE); // Ouverture de la fenêtre

    ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE); // On tente d'ouvrir une fenêtre
    if (ecran == NULL) // Si l'ouverture a échoué, on écrit l'erreur et on arrête

    {
        fprintf(stderr, "Impossible de charger le mode vidéo : %s\n", SDL_GetError());
        exit(EXIT_FAILURE);
    }


     SDL_WM_SetCaption("Client IRC", NULL);

     /* Chargement d'une image Bitmap dans une surface */
    imageDeFond = SDL_LoadBMP("01.bmp");

    /* On blitte par-dessus l'écran */
    SDL_BlitSurface(imageDeFond, NULL, ecran, &positionFond);
    SDL_Flip(ecran);
    }


    pause(); // Mise en pause du programme
    SDL_FreeSurface(imageDeFond); /* On libère la surface */

    SDL_Quit(); // Arrêt de la SDL

    return EXIT_SUCCESS; // Fermeture du programme

}

void pause()
{
    int continuer = 1;
    SDL_Event event;

    while (continuer)
    {
        SDL_WaitEvent(&event);
        switch(event.type)
        {
            case SDL_QUIT:
                continuer = 0;
        }
    }
}

2 réponses

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
18 juil. 2009 à 10:33
Bienvenue,

Merci de poster sur cppfrance dans un thème C. D'autre part, c'est du C, pas du C# (Cf colorisation).

[ Déplacé sur cppfrance ]
0
cs_faucheuse Messages postés 308 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 27 octobre 2011
20 juil. 2009 à 12:23
Il faut revoir ton système d'erreur, tel qu'il est j'ai l'impression qu'il t'affiche toute les erreurs alors qu'il n'y en a pas. Par exemple ta variable imageDeFond est NULL (puisque tu l'a initialisée comme telle) donc tu as une erreur sans passer par tes fonctions d'initialisation vidéo.
0
Rejoignez-nous