Problème pour afficher des images PNG en SDL

Signaler
Messages postés
25
Date d'inscription
vendredi 12 février 2010
Statut
Membre
Dernière intervention
20 juin 2011
-
Messages postés
25
Date d'inscription
vendredi 12 février 2010
Statut
Membre
Dernière intervention
20 juin 2011
-
Bonjour à tous !

Voilà, en suivant attentivement le cour de programmation en C du site du zéro, j'ai pu il y a quelques jours ( enfin ) commencer la SDL !

Je blocks cependant déjà pour charger des images de types PNG.

J'ai réussi a télécharger le pack d'images du SdZ au bout de 25 tentatives; alors, pour compenser ces images, j'ai pris les miennes mais je n'ai pas réussi ( j'ai cru que c'étais de la faute de mes images ). J'ai donc par la suite utiliser les images que nous offrait M@théo21 ( auteur du cour ) et pris exatement le même code que lui dans son merveilleux cour ! Mais même en aiyant tout bien installé, tout bien linker etc, ça ne marche toujours pas...


Je vous donne donc mon code de M@théo21 qui ne marche pas chez moi ( il marche très bien mais il n'affiche pas l'image PNG ):

#include <stdlib.h>
#include <stdio.h>
#include <SDL.h>
#include <SDL_image.h> /* Inclusion du header de SDL_image (adapter le dossier au besoin) */

void pause();

int main(int argc, char *argv)
{
    SDL_Surface *ecran NULL, *imageDeFond NULL, *sapin = NULL;
    SDL_Rect positionFond, positionSapin;

    positionFond.x = 0;
    positionFond.y = 0;
    positionSapin.x = 500;
    positionSapin.y = 260;

    SDL_Init(SDL_INIT_VIDEO);

    SDL_WM_SetIcon(IMG_Load("sdl_icone.bmp"), NULL);

    ecran = SDL_SetVideoMode(800, 600, 32, SDL_HWSURFACE);
    SDL_WM_SetCaption("Chargement d'images en SDL", NULL);

    imageDeFond = IMG_Load("lac_en_montagne.bmp");
    SDL_BlitSurface(imageDeFond, NULL, ecran, &positionFond);

    sapin = IMG_Load("sapin.png");
    SDL_BlitSurface(sapin, NULL, ecran, &positionSapin);

    SDL_Flip(ecran);
    pause();

    SDL_FreeSurface(imageDeFond);
    SDL_FreeSurface(sapin);
    SDL_Quit();

    return EXIT_SUCCESS;
}

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

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



Voilà, je vous demande donc de m'indiquer si il y a une erreur, enfin, pourriez-vous me déblocker ( mauvaise orthographe du mot ) SVP ?

Merci d'avance !

1 réponse

Messages postés
25
Date d'inscription
vendredi 12 février 2010
Statut
Membre
Dernière intervention
20 juin 2011

Oups !

C'est bon, j'ai résolu mon problème ! J'ai juste oublié de mettre toutes les .dll dans mon projet, je m'esxuse d'avoir posté un message inutilement !

A bientôt sur ce forum !!!