Forum de la communauté SFML

Aide => Graphique => Discussion démarrée par: Onigiri le Septembre 12, 2013, 02:58:54 pm

Titre: [Resolu] Bug graphique
Posté par: Onigiri le Septembre 12, 2013, 02:58:54 pm
Bonjour,

J'ai un bug graphique

Ca vient d'où?
Titre: Re : Bug graphique
Posté par: Laurent le Septembre 12, 2013, 03:26:40 pm
Peut-être d'un textureRect qui dépasse de sa texture, ce qui arrive typiquement quand tu confonds left/right et width/height.

Mais sans aucune précision de ta part, on ne peut que jouer aux devinettes.
Titre: Re : Bug graphique
Posté par: Onigiri le Septembre 12, 2013, 03:35:12 pm

Désolé pour le manque de précision, je savais même pas d'où ça pouvait venir.

J'avais une série de Texture que je collais sur un Sprite à interval de temps régulier (pour faire une animation).

Maintenant, j'ai une serie de Texture et de Sprite (une Texture par Sprite), je dessine mes sprite en cours du temps, le bug a disparu et mon animation est fluide.

Je voudrais bien savoir pourquoi le première méthode a donné ce bug

Merci
Titre: Re : Bug graphique
Posté par: Laurent le Septembre 12, 2013, 03:41:26 pm
Montre nous un code complet minimal qui reproduit le problème, et on pourra sûrement te le dire.
Titre: Re : Bug graphique
Posté par: Onigiri le Septembre 12, 2013, 04:02:49 pm

Voici le code avec le bug:



while (window.isOpen())
   {
        ready_event = window.pollEvent(event);
        window.clear();
        for (i = 0; i < nb; i++)
        {
            sprite.setTexture(c.get_img());
            sprite.setPosition(c.get_x(), c.get_y());
            window.draw(sprite);
         }
        window.display();
    }



et sans:



while (window.isOpen())
   {
        ready_event = window.pollEvent(event);
        window.clear();
        for (i = 0; i < nb; i++)
        {
            sprite = c.get_img();
            sprite.setPosition(c.get_x(), c.get_y());
            window.draw(sprite);
         }
        window.display();
    }

Titre: Re : Bug graphique
Posté par: Laurent le Septembre 12, 2013, 04:04:55 pm
Est-ce que ceci corrige le problème ?

sprite.setTexture(c.get_img(), true);
Titre: Re : Bug graphique
Posté par: Onigiri le Septembre 12, 2013, 04:14:40 pm

Oui  :)

Je peux avoir une explication?

Merci
Titre: Re : Bug graphique
Posté par: Laurent le Septembre 12, 2013, 04:28:21 pm
Tu changes la texture, mais tu gardes le vieux textureRect. Il faut le mettre à jour pour qu'il colle aux dimensions de la nouvelle texture.

PS : t'aurais aussi juste pu lire la doc de ce paramètre... :P