Partage
  • Partager sur Facebook
  • Partager sur Twitter

petit probleme avec la SDL

    26 novembre 2008 à 22:43:01

    Bonjours, j'ai suivis le cours sur la SDL, je comprends un peu prés comment marche les évenements mais j'aimerais faire un menu ou l'on clique pour choisir telles ou telles option; cependant je ne trouve pas ou est mon erreur dans mon code :
    #include <stdlib.h>
    #include <stdio.h>
    #include <SDL.h>
    
    
    
    int main ( int argc, char** argv )
    {
    void pause();
    SDL_Surface *ecran = NULL, *titre = NULL, *jouer = NULL;
    SDL_Event event;
    SDL_Init(SDL_INIT_VIDEO);
    ecran = SDL_SetVideoMode(1024, 768, 32, SDL_HWSURFACE | SDL_FULLSCREEN | SDL_DOUBLEBUF );
    titre = SDL_LoadBMP("titre.bmp");
    jouer = SDL_LoadBMP("jouer.bmp");
    
    SDL_Rect positionTitre;
    SDL_Rect positionJouer;
    positionTitre.x = ecran->w/2 - titre->w/2;
    positionTitre.y = 50;
    positionJouer.x = ecran->w/2 - titre->w/2;
    positionJouer.y = ecran->h/2 + jouer->w/4;
    SDL_BlitSurface(jouer, NULL, ecran, &positionJouer);
    SDL_BlitSurface(titre, NULL, ecran, &positionTitre);
    SDL_Flip(ecran);
    
    switch(event.type)
    {
        case SDL_MOUSEBUTTONDOWN:              // C'est cette partie qui marche pas !
            if (event.button.button == SDL_BUTTON_LEFT) { 
                if ((event.button.x <100) && (event.button.y<100)) {
                    positionJouer.y = 0;
                    SDL_BlitSurface(jouer, NULL, ecran, &positionJouer);
                    SDL_Flip(ecran);
                }
            }
    
            break;
    
    }
    

    En gros c'est juste un test pour voir si il reconnait que je clique dans le coin en haut a gauche de l'ecran (0<x<100 et 0<y<100) et normalement dans ce cas il devrait mettre l'image "Jouer" en haut a gauche. cependant, rien ne se passe.

    Merci de votre aide
    • Partager sur Facebook
    • Partager sur Twitter
      26 novembre 2008 à 23:30:51

      int main ( int argc, char** argv )
      {
      void pause();//Que veux-tu faire par cela ? c'est incorrect !
      //Plein de code
      }
      

      C'est quoi ça ? o_O T'es sûr d'avoir lu et compris le tuto sur les fonctions ?
      • Partager sur Facebook
      • Partager sur Twitter
        27 novembre 2008 à 22:11:38

        Pleins de code ? je vais pas quand meme mettre tout les lignes de code dans des fonctions, je ne fais que des déclarations et blitter des image !?

        bref le probleme n'est pas dans la fonction main en soit, je conçois que je fais du code pas propre :D je debute; mais en pouquoi je n'arrive pas a faire changé l'image de position quand je clique ou il faut !?
        • Partager sur Facebook
        • Partager sur Twitter
          27 novembre 2008 à 22:16:35

          Nan je crois que ce qu'il veut dire c'est que t'as mis un prototype de fonction dans une fonction...
          • Partager sur Facebook
          • Partager sur Twitter
            27 novembre 2008 à 22:46:26

            ouais j'ai pas fait d'autre fichier c'etait pour test un truc, mais je n'y arrive pas !
            personne pour m'aider §???
            • Partager sur Facebook
            • Partager sur Twitter
              27 novembre 2008 à 23:30:01

              On dirait que t'as pas bien compris les chapitres sur la gestion des événements en SDL, et aussi sur les fonctions, comment ça tu mets le prototype d'une fonction dans le main ? o_O Où est l'accolade fermante de la fonction main ?
              Désolé mais j'ai rien compris dans ton code.
              • Partager sur Facebook
              • Partager sur Twitter
                28 novembre 2008 à 12:36:40

                Salut,

                pour être plus clair
                void pause();
                
                n'a rien à faire dans ta fonction main !

                De plus, montres nous ta fonction main en entier...

                a++
                • Partager sur Facebook
                • Partager sur Twitter
                Zeste de Savoir, le site qui en a dans le citron !

                petit probleme avec la SDL

                × 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