Partage
  • Partager sur Facebook
  • Partager sur Twitter

curseur invisible

jai beau tout faire il saffiche pas

Sujet résolu
    14 juin 2006 à 13:19:57

    Bonjour

    voila apres modification est modification je n'arrive pas a afficher la souris et c'est pareil dans tout mes programme

    sa doit etre ma facon de faire qui merde
    :(


    #ifdef __cplusplus
        #include <cstdlib>
    #else
        #include <stdlib.h>
    #endif
    #include <SDL/SDL.h>

    int main ( int argc, char** argv )
    {
        SDL_Surface *ecran = NULL, *imageFete = NULL, *curseur = NULL;
        SDL_Rect positionFete, positionCurseur;
        SDL_Event event;
        positionFete.x = 0;
        positionFete.y = 0;
        positionCurseur.x = 0;
        positionCurseur.y = 0;
        int continuer = 1;
        SDL_WM_SetIcon(SDL_LoadBMP("icone.bmp"), NULL);
        imageFete = SDL_LoadBMP("fete.bmp");
        curseur = SDL_LoadBMP("curseur.bmp");
        SDL_SetColorKey(curseur, SDL_SRCCOLORKEY, SDL_MapRGB(curseur->format, 0, 0, 255));
        SDL_WM_SetCaption("Fete Des Peres", NULL);
        SDL_Init(SDL_INIT_VIDEO);
        ecran = SDL_SetVideoMode(700, 500, 32, SDL_HWSURFACE);
        SDL_BlitSurface(imageFete, NULL, ecran, &positionFete);

        SDL_ShowCursor(SDL_DISABLE);
        while(continuer)
        {
            SDL_WaitEvent(&event);
            switch(event.type)
            {
                case SDL_QUIT:
                continuer = 0;
                break;
                case SDL_MOUSEMOTION:
                positionCurseur.x = event.motion.x; /* On change les coordonnées de Souris */
                positionCurseur.y = event.motion.y;
                break;
                case SDL_KEYDOWN:
                switch(event.key.keysym.sym)
                {
                    case SDLK_ESCAPE:
                    imageFete = SDL_LoadBMP("fete.bmp");
                    break;
                    case SDLK_d:
                    imageFete = SDL_LoadBMP("damien.bmp");
                    break;
                    case SDLK_f:
                    imageFete = SDL_LoadBMP("flavien.bmp");
                    break;
                    case SDLK_s:
                    imageFete = SDL_LoadBMP("cacher.bmp");
                    break;
                }

                SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 255, 255, 255)); /* On efface l'écran */
            SDL_BlitSurface(imageFete, NULL, ecran, &positionFete); /* On place limage à sa nouvelle position */
            SDL_Flip(ecran); /* On met à jour l'affichage */
        }

    SDL_BlitSurface(curseur, NULL, ecran, &positionCurseur);

        }

        SDL_FreeSurface(imageFete);
        SDL_FreeSurface(curseur);
        SDL_Quit();

        return 0;
    }



    savez vous ou est lerreur svp
    • Partager sur Facebook
    • Partager sur Twitter
      14 juin 2006 à 14:18:16

      SDL_ShowCursor(SDL_DISABLE);


      Met ENABLE à la place de DISABLE.
      • Partager sur Facebook
      • Partager sur Twitter
        14 juin 2006 à 14:27:59

        on voi la souris mais limage que jai blité pour le curseur aparait pas
        • Partager sur Facebook
        • Partager sur Twitter
          14 juin 2006 à 14:36:41

          Tu dois blitter le curseur avant
          SDL_Flip(ecran);
          • Partager sur Facebook
          • Partager sur Twitter
            14 juin 2006 à 14:46:55

            sa marche toujour pas o_O
            • Partager sur Facebook
            • Partager sur Twitter
              14 juin 2006 à 14:51:32

              Ton code est mal indenté.
              Termine le premier switch avant d'effacer, blitter, afficher l'écran.
              • Partager sur Facebook
              • Partager sur Twitter
                14 juin 2006 à 14:52:59

                Ferme ton switch avant de bliter !
                Voila le code juste (je crois :D )
                #ifdef __cplusplus
                    #include <cstdlib>
                #else
                    #include <stdlib.h>
                #endif
                #include <SDL/SDL.h>

                int main ( int argc, char** argv )
                {
                    SDL_Surface *ecran = NULL, *imageFete = NULL, *curseur = NULL;
                    SDL_Rect positionFete, positionCurseur;
                    SDL_Event event;
                    positionFete.x = 0;
                    positionFete.y = 0;
                    positionCurseur.x = 0;
                    positionCurseur.y = 0;
                    int continuer = 1;
                    SDL_WM_SetIcon(SDL_LoadBMP("icone.bmp"), NULL);
                    imageFete = SDL_LoadBMP("fete.bmp");
                    curseur = SDL_LoadBMP("curseur.bmp");
                    SDL_SetColorKey(curseur, SDL_SRCCOLORKEY, SDL_MapRGB(curseur->format, 0, 0, 255));
                    SDL_WM_SetCaption("Fete Des Peres", NULL);
                    SDL_Init(SDL_INIT_VIDEO);
                    ecran = SDL_SetVideoMode(700, 500, 32, SDL_HWSURFACE);
                    SDL_BlitSurface(imageFete, NULL, ecran, &positionFete);

                    SDL_ShowCursor(SDL_DISABLE);
                    while(continuer)
                    {
                        SDL_WaitEvent(&event);
                        switch(event.type)
                        {
                            case SDL_QUIT:
                            continuer = 0;
                            break;
                            case SDL_MOUSEMOTION:
                            positionCurseur.x = event.motion.x; /* On change les coordonnées de Souris */
                            positionCurseur.y = event.motion.y;
                            break;
                            case SDL_KEYDOWN:
                            switch(event.key.keysym.sym)
                            {
                                case SDLK_ESCAPE:
                                imageFete = SDL_LoadBMP("fete.bmp");
                                break;
                                case SDLK_d:
                                imageFete = SDL_LoadBMP("damien.bmp");
                                break;
                                case SDLK_f:
                                imageFete = SDL_LoadBMP("flavien.bmp");
                                break;
                                case SDLK_s:
                                imageFete = SDL_LoadBMP("cacher.bmp");
                                break;
                            }
                       }
                        SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 255, 255, 255)); /* On efface l'écran */
                        SDL_BlitSurface(imageFete, NULL, ecran, &positionFete); /* On place limage à sa nouvelle position */
                        SDL_BlitSurface(curseur, NULL, ecran, &positionCurseur);
                        SDL_Flip(ecran); /* On met à jour l'affichage */
                 

                    }

                    SDL_FreeSurface(imageFete);
                    SDL_FreeSurface(curseur);
                    SDL_Quit();

                    return 0;
                }
                • Partager sur Facebook
                • Partager sur Twitter

                curseur invisible

                × 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