Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: [Resolu] Bug graphique  (Lu 2612 fois)

0 Membres et 1 Invité sur ce sujet

Onigiri

  • Newbie
  • *
  • Messages: 18
    • Voir le profil
[Resolu] Bug graphique
« le: Septembre 12, 2013, 02:58:54 pm »
Bonjour,

J'ai un bug graphique

Ca vient d'où?
« Modifié: Septembre 12, 2013, 04:33:10 pm par Onigiri »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Bug graphique
« Réponse #1 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.
Laurent Gomila - SFML developer

Onigiri

  • Newbie
  • *
  • Messages: 18
    • Voir le profil
Re : Bug graphique
« Réponse #2 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

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Bug graphique
« Réponse #3 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.
Laurent Gomila - SFML developer

Onigiri

  • Newbie
  • *
  • Messages: 18
    • Voir le profil
Re : Bug graphique
« Réponse #4 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();
    }


Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Bug graphique
« Réponse #5 le: Septembre 12, 2013, 04:04:55 pm »
Est-ce que ceci corrige le problème ?

sprite.setTexture(c.get_img(), true);
Laurent Gomila - SFML developer

Onigiri

  • Newbie
  • *
  • Messages: 18
    • Voir le profil
Re : Bug graphique
« Réponse #6 le: Septembre 12, 2013, 04:14:40 pm »

Oui  :)

Je peux avoir une explication?

Merci

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Bug graphique
« Réponse #7 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
Laurent Gomila - SFML developer