Partage
  • Partager sur Facebook
  • Partager sur Twitter

SDL2 xcode fenetre

fenetre blanche

    14 juillet 2018 à 18:42:30

    Bonjour,

    L'installation de SDL2 sous Xcode a bien fonctionner le code exemple aussi, mise a part des recommandations ne concernant que des les .h de sdl2, cela fonctionne... mais.. la fenêtre reste toute blanche pas de contour on ne voie même pas son titre. Un idée??

    SDL_Window* pWindow = NULL;
            pWindow = SDL_CreateWindow("Ma première application SDL2",SDL_WINDOWPOS_UNDEFINED,
                                       SDL_WINDOWPOS_UNDEFINED,
                                       640,
                                       480,
                                       SDL_WINDOW_OPENGL|SDL_WINDOW_RESIZABLE);


    a+

    • Partager sur Facebook
    • Partager sur Twitter
      14 juillet 2018 à 19:50:11

      Salut,

      En fait sous OSX il faut « faire quelque chose (gérer les évènements, afficher quelque chose, etc.) pour que la fenêtre s'affiche. On en parle dans ce sujet.

      • Partager sur Facebook
      • Partager sur Twitter
      Tutoriel Ruby - Bon tutoriel C - Tutoriel SDL 2 - Python avancé - Faîtes un zeste, devenez des zesteurs
        14 juillet 2018 à 21:09:38

        il y a autres choses.. un problème mémoire.. l'image ne s'affiche pas l’intérieur de la fenêtre, le fond est noir, 2 lignes de pixels étires..

        #include <SDL2/SDL.h>
        #include <stdlib.h>
        #include <stdio.h>
        #include <OpenGL/gl3.h>
        
        int main(int argc, char** argv)
        {
            SDL_Surface * ws = NULL;
            SDL_Surface * is = NULL;
            SDL_DisplayMode dpm;
            SDL_GetDesktopDisplayMode(0, &dpm);
            
            
            /* Initialisation simple */
            if (SDL_Init(SDL_INIT_VIDEO) != 0 )
            {
                fprintf(stdout,"Échec de l'initialisation de la SDL (%s)\n",SDL_GetError());
                return -1;
            }
            
                /* Création de la fenêtre */
                SDL_Window* pWindow = NULL;
                pWindow = SDL_CreateWindow("Ma première application SDL2",SDL_WINDOWPOS_UNDEFINED,
                                           SDL_WINDOWPOS_UNDEFINED,
                                           640,
                                           480,
                                           SDL_WINDOW_OPENGL|SDL_WINDOW_RESIZABLE);
            SDL_GLContext glcontext = SDL_GL_CreateContext(pWindow);
        
            ws = SDL_GetWindowSurface(pWindow);
            is = SDL_LoadBMP("image.bmp");
            
            SDL_BlitSurface(is, NULL, ws, NULL);
           ws = SDL_GetWindowSurface(pWindow);
            SDL_UpdateWindowSurface(pWindow);
               
        if( pWindow ) { SDL_Delay(19000); /* Attendre trois secondes, que l'utilisateur voie la fenêtre */ SDL_DestroyWindow(pWindow); } else { fprintf(stderr,"Erreur de création de la fenêtre: %s\n",SDL_GetError()); } SDL_GL_DeleteContext(glcontext); SDL_Quit(); return 0; }



        • Partager sur Facebook
        • Partager sur Twitter
          14 juillet 2018 à 21:42:35

          j'en est écumer des tutos... et dans un il parlait d'une 'libSDL2.a' a ajouter mais impossible de mettre la main dessus

          j'ai un peu modifier le code pour afficher un bitmap dans la fenêtre; le pointeur 'is' pour le chargement du bitmap est a zéro, malgré que l'image soit sur le bon emplacement...

          #include <SDL2/SDL.h>
          #include <stdlib.h>
          #include <stdio.h>
          #include <OpenGL/gl3.h>
          #include <SDL2_image/SDL_image.h>
          
          int main(int argc, char** argv)
          {
              SDL_Surface * ws = NULL;
              SDL_Surface * is = NULL;
              SDL_DisplayMode dpm;
              SDL_GetDesktopDisplayMode(0, &dpm);
              SDL_Renderer *renderer = NULL;
          
              
              
              /* Initialisation simple */
              if (SDL_Init(SDL_INIT_VIDEO) != 0 )
              {
                  fprintf(stdout,"Échec de l'initialisation de la SDL (%s)\n",SDL_GetError());
                  return -1;
              }
              
                  /* Création de la fenêtre */
                  SDL_Window* pWindow = NULL;
                  pWindow = SDL_CreateWindow("Ma première application SDL2",SDL_WINDOWPOS_UNDEFINED,
                                             SDL_WINDOWPOS_UNDEFINED,
                                             800,
                                             600,
                                             SDL_WINDOW_OPENGL|SDL_WINDOW_RESIZABLE);
              
              SDL_GLContext glcontext = SDL_GL_CreateContext(pWindow);
          
              renderer = SDL_CreateRenderer(pWindow, -1, SDL_RENDERER_SOFTWARE);
              is = SDL_LoadBMP("image.bmp");
              ws = SDL_GetWindowSurface(pWindow);
              
              SDL_BlitSurface(is, NULL, ws, NULL);
              
              SDL_UpdateWindowSurface(pWindow);
                  if( pWindow )
                  {
                      SDL_Delay(19000); /* Attendre trois secondes, que l'utilisateur voie la fenêtre */
                      
                      SDL_DestroyWindow(pWindow);
                  }
                  else
                  {
                      fprintf(stderr,"Erreur de création de la fenêtre: %s\n",SDL_GetError());
                  }
              
              SDL_FreeSurface(is);
              SDL_GL_DeleteContext(glcontext);
              SDL_Quit();
              
              return 0;
          }
          
          
          
          
          


          -
          Edité par pou010 15 juillet 2018 à 9:54:50

          • Partager sur Facebook
          • Partager sur Twitter

          SDL2 xcode 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