Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème d'image

toujours avec la SDL

    8 mai 2006 à 16:17:13

    Bonjour tout le monde. J'ai tenté d'afficher une image. Seulement, la fonction SDL_Flip() ne marche pas (j'ai tenté de colorer l'écran avant et après la fonction, avant ça marche, mais pas après). Je ne peux donc pas afficher l'image. Voici mon code :


    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <math.h>

    #include "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);

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

            /* Chargement d'une image Bitmap dans une surface */
            imageDeFond = SDL_LoadBMP("lac_en_montagne.bmp");
            /* On blitte par-dessus l'écran */
            SDL_BlitSurface(imageDeFond, NULL, ecran, &positionFond);

            SDL_Flip(ecran);
            pause();

            SDL_FreeSurface(imageDeFond); /* On libère la surface */
            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;
                    }
            }
    }


    Pouvez-vous m'aider ?

    Merci d'avance,
    Tchouboudou

    EDIT : J'suis sous Mac…
    • Partager sur Facebook
    • Partager sur Twitter
      8 mai 2006 à 17:34:20

      ça te donne un écran noir ?? t'as essayé en colorant avec fillRect ?
      • Partager sur Facebook
      • Partager sur Twitter
        8 mai 2006 à 17:50:37

        SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 17, 206,112));

        en gros tu as mis ca avant le flip et ca colore l'ecran ce qui est normal
        Et si tu l as mis apres c'est normal que ça ne marche pas

        suis sur ta mis un SDL_FillRect puis un SDL_Flip puis un SDL_FillRect et encore un SDL_Flip je me trompe?
        • Partager sur Facebook
        • Partager sur Twitter
          8 mai 2006 à 17:53:54

          Euh, je pense… J'enlève le SDL_FillRect(), c'est un écran noir…
          • Partager sur Facebook
          • Partager sur Twitter
            8 mai 2006 à 17:55:47

            ah j avais mal lu je croyais que tu voulais colore ton ecran en fait ton probleme c'est que tu n'as pas l'image de fond

            elle est bien dans le meme repertoire?

            edit: pourquoi ta include "SDL.h" et pas #include <SDL/SDL.h>

            ta fait un .h pour mettre tes includes, defines et autres?
            • Partager sur Facebook
            • Partager sur Twitter
              8 mai 2006 à 18:04:10

              bon bah chez moi ca marche tres bien en changeant ton #include "SDL.h" par #include <SDL/SDL.h>
              • Partager sur Facebook
              • Partager sur Twitter

              Problème d'image

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown