Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1387 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Probleme Conversion

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme Conversion

n°1446252
kirua_sama
Learn sciences with senses
Posté le 22-09-2006 à 13:24:40  profilanswer
 

Citation :

while (Marche)
    {
        SDL_WaitEvent(&event);
            switch (event.type)
            {
 
                 case SDL_MOUSEMOTION:
            PositionCurseur.x = event.motion.x;  
            PositionCurseur.y = event.motion.y;
            break;
 
 
                case SDL_KEYDOWN:
                  switch (event.key.keysym.sym)
                        {
                            case SDLK_ESCAPE:
                                Marche = 0;
                                break;
                        }
            }
 
    char chaine[9] = "";
    itoa(PositionCurseur.x,chaine,10);
    Text_PositionCurseur = TTF_RenderText_Blended(Fonte,chaine, Blanc);
        if (550<PositionCurseur.x && PositionCurseur.x < 580)
            {
                Text_Quitter = TTF_RenderText_Blended(Fonte, "Quitter", Rouge);
            }
        else
            {
                Text_Quitter = TTF_RenderText_Blended(Fonte, "Quitter", Blanc);
            }
 
         SDL_BlitSurface(Text_Quitter, NULL, ecran, &PositionQuitter);
            SDL_BlitSurface(Text_PositionCurseur, NULL, ecran, &PositionBackscreen);
            SDL_Flip(ecran);
            SDL_FreeSurface(Text_Quitter);
            SDL_FreeSurface(Text_PositionCurseur);
    }


 
 
Voila mon code, je crois que la conversion en chaine de caractere de la position du curseur pose probleme mais je ne vois pas de quel facon le resoudre, si quelqu'un peut me dire ou ca merde merci. ( ca m'affiche des chiffres l'un au-dessus de l'otre et fini par faire des carres blanc.)


Message édité par kirua_sama le 22-09-2006 à 13:24:58
mood
Publicité
Posté le 22-09-2006 à 13:24:40  profilanswer
 

n°1446280
_darkalt3_
Proctopathe
Posté le 22-09-2006 à 14:07:11  profilanswer
 

T'as pas de debugger pour voir où ça plante et vérifier la valeur de tes variables ?

n°1446298
kirua_sama
Learn sciences with senses
Posté le 22-09-2006 à 14:19:48  profilanswer
 

Bah le debugger de Code Bloc déconne mais j'ai verifier les valeurs que peuvent prendre PositionCurseur.x avec:
 

Code :
  1. if (550<PositionCurseur.x && PositionCurseur.x < 580)


 
et je vois bien le texte changer de couleur, donc c'est bien à l'affichage ou à la conversion qu'il merde. ( et comme y'a pas de Doc pour la biblio SDL_ttf ... ). Merci en tout cas.
 
 
J'ai trouver le Probleme, c'est bien à l'affichage, il ne libere pas la surface et place les chiffre les uns au dessus des otres.


Message édité par kirua_sama le 22-09-2006 à 14:24:28
n°1446314
kirua_sama
Learn sciences with senses
Posté le 22-09-2006 à 14:34:15  profilanswer
 

J'ai regler mon probleme c'etait juste une petite erreur toute bete... je ne reinitialiser pas mon ecran, la convertion etait bonne...
 
Ca donne ca Desole de vous avoir derange.
 

Code :
  1. Backscreen = IMG_Load("Backscreen.jpg" );
  2.     SDL_DisplayFormat(Backscreen);
  3.     while (Marche)
  4.     {
  5.         SDL_WaitEvent(&event);
  6.             switch (event.type)
  7.             {
  8.                  case SDL_MOUSEMOTION:
  9.             PositionCurseur.x = event.motion.x; /* On change les coordonnées de Zozor */
  10.             PositionCurseur.y = event.motion.y;
  11.             Temp.x = event.motion.x;
  12.             Temp.y = event.motion.y;
  13.             break;
  14.                 case SDL_KEYDOWN:
  15.                   switch (event.key.keysym.sym)
  16.                         {
  17.                             case SDLK_ESCAPE:
  18.                                 Marche = 0;
  19.                                 break;
  20.                         }
  21.             }
  22.     char chaine[9] = "";
  23.     itoa(PositionCurseur.x,chaine,10);
  24.     Text_PositionCurseur = TTF_RenderText_Blended(Fonte,chaine, Blanc);
  25.         if (550<PositionCurseur.x && PositionCurseur.x < 580)
  26.             {
  27.                 Text_Quitter = TTF_RenderText_Blended(Fonte, "Quitter", Rouge);
  28.             }
  29.         else
  30.             {
  31.                 Text_Quitter = TTF_RenderText_Blended(Fonte, "Quitter", Blanc);
  32.             }
  33. SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 255, 0, 255));
  34.     SDL_BlitSurface(Backscreen, NULL, ecran, &PositionBackscreen);
  35.          SDL_BlitSurface(Text_Quitter, NULL, ecran, &PositionQuitter);
  36.             SDL_BlitSurface(Text_PositionCurseur, NULL, ecran, &Temp);
  37.             SDL_Flip(ecran);
  38.             SDL_FreeSurface(Text_Quitter);
  39.             SDL_FreeSurface(Text_PositionCurseur);
  40.             SDL_Flip(ecran);
  41.     }

n°1446315
kirua_sama
Learn sciences with senses
Posté le 22-09-2006 à 14:35:44  profilanswer
 

Par contre, Est ce que vous saver comment je peux faire pour travailler en fullscreen ( Est-ce que je doit faire des modes en fonction de la resolution ou bien y'a t-il une solution pour addapter la position de mes element en fonction de la largeur etc... ?, toujours en gardant les proportionnalite. ).


Message édité par kirua_sama le 22-09-2006 à 14:40:15
n°1446340
_darkalt3_
Proctopathe
Posté le 22-09-2006 à 15:24:01  profilanswer
 

y'a une des premières leçons sur nehe.gamedev.net qui possède des exemples avec sdl, et qui gère le changement windowed/fullscreen

n°1446423
kirua_sama
Learn sciences with senses
Posté le 22-09-2006 à 17:33:37  profilanswer
 

je veux bien te croire ... xD. Merci, et tu sais pas ca se situe vers ou ?

n°1446425
_darkalt3_
Proctopathe
Posté le 22-09-2006 à 17:39:44  profilanswer
 

ben sur nehe.gamedev.net, dans les lessons ...


---------------
Töp of the plöp
n°1446436
kirua_sama
Learn sciences with senses
Posté le 22-09-2006 à 17:57:20  profilanswer
 

Rien trouver de tel, il en vient toujours à utiliser l'opengl. Enfin je te remercie.

n°1446446
kirua_sama
Learn sciences with senses
Posté le 22-09-2006 à 18:20:55  profilanswer
 

A et une super Question je crois qu'il n'y a pas de fonction qui gere les objet directement dans la SDL je voudrai faire une classe ou il y a defini mon texte, pour que je puisse faire un rollover sur le texte directement et non sur une zone définie. Quelqu'un aurait une idee de comment je pourrais m'y prendre?

mood
Publicité
Posté le 22-09-2006 à 18:20:55  profilanswer
 

n°1446455
_darkalt3_
Proctopathe
Posté le 22-09-2006 à 19:37:31  profilanswer
 

kirua_sama a écrit :

Rien trouver de tel, il en vient toujours à utiliser l'opengl. Enfin je te remercie.


oui, y'a du opengl, mais y'a surtout du fullscreen dans les sources version SDL


---------------
Töp of the plöp
n°1446465
kirua_sama
Learn sciences with senses
Posté le 22-09-2006 à 20:16:27  profilanswer
 

oue mais il utilise le fullscreen que pour intialiser et pour regler les probleme lie a la taille le positionement etc... il utilise l'opengl.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Probleme Conversion

 

Sujets relatifs
[XSLT] Probleme de conversion d'un algorithme vers xslProbleme de conversion de types
Problème de conversion JavaMail[PHP XML] problème de conversion UTF-16 -> ISO-8859-1
Probleme de conversion en hexa.probleme de conversion
probleme de conversion[JAVA] Probleme de conversion de String en Date?
[C] Probleme de conversion char -> int[BCB6] problème de conversion de couleur hexa
Plus de sujets relatifs à : Probleme Conversion


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR