Partage
  • Partager sur Facebook
  • Partager sur Twitter

Disparition de la fenetre

c'est a n'y rien comprendre

Anonyme
    12 avril 2006 à 17:21:00

    Alors la je vois vraiment pas pourquoi mon prog se ferme instantanément ! J'ai tout inclu (la SDL.dll, l'image) et il veut pas rester ouvert. Et le pire c'est que stderr.txt n'aparait pas dans mon dossier o_O ce qui fait que je sais pas ou j'ai une erreur ! S'il vous plait, aidez moi !

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

    int main(int argc, char *argv[])
    {
        SDL_Surface *ecran = NULL, *zozor = NULL;
        SDL_Rect positionZozor;
        SDL_Event event;
        int continuer = 1;

        SDL_Init(SDL_INIT_VIDEO);
        if(SDL_Init(SDL_INIT_VIDEO) == -1)
        {
            fprintf(stderr,"erreur: %s",SDL_GetError());
            exit(EXIT_FAILURE);
        }

        ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
        if(ecran == NULL)
        {
            fprintf(stderr,"erreur:%s",SDL_GetError());
            exit(EXIT_FAILURE);
        }

        zozor = SDL_LoadBMP("zozor.bmp");
        if(zozor == NULL)
        {
        fprintf(stderr,"erreur: %s",SDL_GetError());
        exit(EXIT_FAILURE);
        }

        SDL_WM_SetCaption("tampons", NULL);
        SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 255, 255, 255));
        SDL_SetColorKey(zozor, SDL_SRCCOLORKEY, SDL_MapRGB(zozor->format, 0, 0, 255));

        while (continuer)
        {
            SDL_WaitEvent(&event);
            switch(event.type)
            {
                case SDL_QUIT:
                    continuer = 0;
                    break;
                case SDL_MOUSEBUTTONUP:
                positionZozor.x = event.button.x; /* On change les coordonnées de Zozor */
                positionZozor.y = event.button.y;
                break;
            }
            SDL_BlitSurface(zozor, NULL, ecran, &positionZozor);
            SDL_Flip(ecran);

            return EXIT_SUCCESS;
        }
    }
    • Partager sur Facebook
    • Partager sur Twitter
      12 avril 2006 à 17:33:02

      C'est tout simple.
      while (continuer)
          {
              SDL_WaitEvent(&event);
              switch(event.type)
              {
                  case SDL_QUIT:
                      continuer = 0;
                      break;
                  case SDL_MOUSEBUTTONUP:
                  positionZozor.x = event.button.x; /* On change les coordonnées de Zozor */
                  positionZozor.y = event.button.y;
                  break;
              }
              SDL_BlitSurface(zozor, NULL, ecran, &positionZozor);
              SDL_Flip(ecran);

              return EXIT_SUCCESS;
          }
      }

      return EXIT_SUCCESS; doit être après l'accolade fermante de la boucle While.
      comme ceci :
      while (continuer)
          {
              SDL_WaitEvent(&event);
              switch(event.type)
              {
                  case SDL_QUIT:
                      continuer = 0;
                      break;
                  case SDL_MOUSEBUTTONUP:
                  positionZozor.x = event.button.x; /* On change les coordonnées de Zozor */
                  positionZozor.y = event.button.y;
                  break;
              }
              SDL_BlitSurface(zozor, NULL, ecran, &positionZozor);
              SDL_Flip(ecran);
          }
          return EXIT_SUCCESS;
      }

      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        12 avril 2006 à 17:46:16

        Roooo je suis trop con >_<" ! Merci beaucoup ^^
        • Partager sur Facebook
        • Partager sur Twitter

        Disparition de la fenetre

        × 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