Partage
  • Partager sur Facebook
  • Partager sur Twitter

Transformer un nombre en chaine de caractère

    15 juin 2006 à 20:56:11

    Bonjour.
    Pour l'utilisation, je voudrais avoir la possibilité de transformer un int qui contient un nombre en chaîne de caractère pour pouvoir ensuite le blitter a l'écran.
    Quelqu'un peut m'aider?
    • Partager sur Facebook
    • Partager sur Twitter
      15 juin 2006 à 21:12:21

      Aller ce coup ci c'est moi qui vais t'aider:

      char scoreG[3]="";

      sprintf(scoreG,"%d",scorG);


      voila tout :) aprés tu fais ce que tu veux de ton scoreG moi par exemple:

      pointG=TTF_RenderText_Blended(police,scoreG,
      couleurblanche);
      • Partager sur Facebook
      • Partager sur Twitter
        15 juin 2006 à 21:23:52

        void afficherScore(SDL_Surface *ecran, int score)
        {
            SDL_Surface *texte = NULL;
            SDL_Rect position;
            TTF_Font *police = NULL;
            SDL_Color couleurNoire = {255, 255, 255};
            SDL_Color couleurFond = {0, 0, 255};
            char texteScore[1] = {0};
            sprintf(texteScore,"%d",score);
            TTF_Init();

            /* Chargement de la police */
            police = TTF_OpenFont("comic.ttf",20);
            /* Ecriture du texte dans la SDL_Surface "texte" en mode Blended (optimal) */
            texte = TTF_RenderText_Shaded(police, texteScore[0], couleurNoire, couleurFond);

            position.x = 0;
            position.y = 0;
            SDL_BlitSurface(texte, NULL, ecran, &position); /* Blit du texte par-dessus */
            SDL_Flip(ecran);

            TTF_CloseFont(police);
            TTF_Quit();

            SDL_FreeSurface(texte);
        }

        Ca ne marche toujours pas :( .
        • Partager sur Facebook
        • Partager sur Twitter
          15 juin 2006 à 21:57:00

          #define SCORE 100

          char texteScore[SCORE] = {0};

          <..>

          texte = TTF_RenderText_Shaded(police, texteScore, couleurNoire, couleurFond);

          Essaie ça, sa devrais marcher.
          • Partager sur Facebook
          • Partager sur Twitter
            15 juin 2006 à 22:02:49

            c'est quoi ton erreur? compilation affichage?
            • Partager sur Facebook
            • Partager sur Twitter
              15 juin 2006 à 22:50:49

              Process terminated with status 1 (0 minutes, 2 seconds)
              Edit : ça marche, fallait changer texteScore[0] par texteScore
              ReEdit : Quand je met la fonction afficherScore(ecran,score); dans ma fonction jouer(); tout commence a clignotter et tout est long.
              • Partager sur Facebook
              • Partager sur Twitter
                16 juin 2006 à 14:53:56

                Citation : oussama1305


                    char texteScore[1] = {0};
                    sprintf(texteScore,"%d",score);
                }


                Ca ne marche toujours pas :( .


                Un tableau de char de taille 1 permet de stocker une chaine vide (""). C'est tout.

                    char texteScore[8];
                    sprintf(texteScore,"%d",score);
                }

                Devrait suffire. Si tu as C99, utilise snprintf().
                • Partager sur Facebook
                • Partager sur Twitter
                Music only !
                  16 juin 2006 à 15:36:52

                  Je met texteScore[100] dans mon code.
                  Mais pour mon problème, UP ?
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Transformer un nombre en chaine de caractère

                  × 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