IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDL Discussion :

Crash avec texture et texte [SDL 2.0]


Sujet :

SDL

  1. #1
    Candidat au Club
    Homme Profil pro
    Prep commande
    Inscrit en
    Janvier 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Prep commande

    Informations forums :
    Inscription : Janvier 2016
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Crash avec texture et texte
    Bonjour,

    Voila depuis quelques semaines que je cherche à créer un logiciel qui me tient à coeur, je me suis donc lancer dans la programmation C / SDL2 tête baissé ( je remercie au passage les auteurs des tutos de ce site qui m'ont énormément aider )

    Mais voila j'ai une de mes fonctions qui fait crash le tout ( tristesse )

    Voila ce qui me cause du tort, c'est la partie qui me sert à charger des textes en textures, une première fonction init envoie les données de ce qu'il y a à écrire quelle police utiliser quelle size à une fonction qui ne se chargera que de créer des textures de texte ( je trouve cela plus pratique m'enfin comme ça ne fonctionne pas peut-être que je me trompe :p ), celui ci retournera les textures à init qui les stockera dans une structure Paramètre pour être coller plus tard avec une autre fonction :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Parametre parametre;
     
    void initParametre(void)
    {
        char phrase[] = "Taille de la fenêtre";
     
        parametre.phrase = loadTextureTexte ("graphic\gimmedanger.ttf", 20, phrase);
    }


    __________________________________________________________________________________




    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    SDL_Texture *loadTextureTexte(char *name, char size, char *phrase)
    {
     
        TTF_Font *font;
        font = TTF_OpenFont(name, size);
     
        SDL_Color color={255,255,255,255};
        SDL_Surface *surface = NULL;
        SDL_Texture *text = NULL ;
     
        surface = TTF_RenderText_Solid(font, phrase, color);
        text = SDL_CreateTextureFromSurface(getrenderer(), surface);                 // getrenderer() est une fonction qui renvoie le rendere
     
        SDL_FreeSurface(surface);
        surface = NULL;
     
        TTF_CloseFont(font);
     
        return text;
     
    }




    Voila merci d'avance pour vos réponses
    ( excusez mon amateurisme si je m'explique mal )

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Un inconvénient de votre méthode c'est pour les textes dynamiques (score, compteur ou autre). En effet, ici, vous créez une texture pour chaque texte différent.
    Ensuite, avec un débogueur, vous pourrez mieux trouver l'origine (et mieux comprendre) la raison du bogue. On pourra s'inspirer de : http://alexandre-laurent.developpez....e-application/

    Ensuite, fermer et ouvrir la bibliothèque TTF plusieurs fois et une perte de temps aussi. Même si elle peut vous sembler négligeable.

    Pour le bogue en lui même, je ne le vois pas, comme ça, en lisant le code que vous avez donné. C'est pour ça que le débogueur sera toujours un précieux allié.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Candidat au Club
    Homme Profil pro
    Prep commande
    Inscrit en
    Janvier 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Prep commande

    Informations forums :
    Inscription : Janvier 2016
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Aucun soucis merci pour votre réponse ^^

    Le texte dynamique je n'y suis pas encore pour le moment, j'ai créer cette fonction pour tout les autres ( menus etc ) afin d'avoir qu'une seule petite fonction qui transforme n'importe quelle texte en texture pendant l'initialisation j'ouvre TTF qu'une seule fois au début du logiciel.

    Je regarderai le guide sur le debogueur ça me sera utile

    J'ai trouver le bug, en fait c'est tout bêtement le slash quand je donne le chemin vers la police, il ne le trouve pas et plante fatalement, la honte me submerge :l

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Arf, j'avais oublié cette piste alors que je conseille souvent aux utilisateurs de vérifier les erreurs retournées par les fonctions.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Problème avec ShowDialog qui crash l'application
    Par peltiarn dans le forum VB.NET
    Réponses: 10
    Dernier message: 25/05/2014, 23h12
  2. Serveur Glassfish qui crash / stoppe sur un serveur dédié application
    Par Taigong62 dans le forum Glassfish et Payara
    Réponses: 0
    Dernier message: 10/12/2013, 10h37
  3. Réponses: 2
    Dernier message: 16/04/2013, 11h33
  4. application qui connecte sur une page web
    Par spoolz dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 14/04/2004, 09h47
  5. Déterminer l'application qui a le Focus
    Par JakeGrafton dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 22/02/2004, 12h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo