Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme d'affichage !

mais pourquoi elle ne s'affiche pas cette image ?

    26 octobre 2006 à 16:12:05

    bonjour a tous !
    alors comme vous l'avez compris dans le titre mon programme ne veux pas afficher l'image de mon interface et je ne comprend absolument pas pourquoi :( .
    pouriez vous m'aider ?
    voici le code :

    #include <stdlib.h>
    #include <stdio.h>
    #include <SDL/SDL.h>
    #include <SDL/SDL_image.h>
    #include "fonction.h"

    void menu()
    {
        int continuer = 1;

        SDL_Surface *ecran = NULL, *menu = NULL;
        SDL_Event event;
        SDL_Rect posMenu;

        posMenu.x = 0;
        posMenu.y = 0;

        SDL_Init(SDL_INIT_VIDEO);

        ecran = SDL_SetVideoMode(800, 600, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
        SDL_WM_SetCaption("Projet Arene 1.0", NULL);

        menu = IMG_Load("interface.png");

        SDL_EnableKeyRepeat(10, 10);

        while(continuer)
        {
            SDL_WaitEvent(&event);
            switch(event.type)
            {
                case SDL_QUIT:
                    continuer = 0;
                    break;
                case SDL_KEYDOWN:
                    switch(event.key.keysym.sym)
                    {
                        case SDLK_ESCAPE:
                            continuer = 0;
                            break;
                    }
                    break;

                SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0));
                SDL_BlitSurface(menu, NULL, ecran, &posMenu);
                SDL_Flip(ecran);
            }
        }

        SDL_FreeSurface(menu);

        SDL_Quit();

    }


    merci d'avance !!
    • Partager sur Facebook
    • Partager sur Twitter
      26 octobre 2006 à 16:19:28

      Tu dois mettre tes blittages et tout, hors du switch du type d'événement ;)


          while(continuer)
          {
              SDL_WaitEvent(&event);
              switch(event.type)
              {
                  case SDL_QUIT:
                      continuer = 0;
                      break;
                  case SDL_KEYDOWN:
                      switch(event.key.keysym.sym)
                      {
                          case SDLK_ESCAPE:
                              continuer = 0;
                              break;
                      }
                      break;
              }
              SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0));
              SDL_BlitSurface(menu, NULL, ecran, &posMenu);
              SDL_Flip(ecran);   
          }
      • Partager sur Facebook
      • Partager sur Twitter
        26 octobre 2006 à 16:19:41

        Salut,

        C'est sur que dans un switch, après le dernier break; du switch, ça risque pas de s'afficher ...
        Sort l'affichage du switch et ça devrait marcher.

        Edit : c'est bien de proposer une solution Ext1cti0n-007, encore faut-il que ce soit juste ... le code que tu a mis affichera l'image en éclair quand tu aura fermé la fenêtre ou appuyé sur échap, juste avant de fermer ... en gros tu n'aura pas le temps de la voir.
        • Partager sur Facebook
        • Partager sur Twitter
          26 octobre 2006 à 16:21:16

          ok :p
          merci beaucoup !
          ca marche !!
          c'est vraiment tout béte mais ca fait tout foiré :p
          • Partager sur Facebook
          • Partager sur Twitter

          probleme d'affichage !

          × 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