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

Auteur Sujet: [SFML 2.0 RC] Problème avec les sf::Text  (Lu 1889 fois)

0 Membres et 2 Invités sur ce sujet

Doueusa

  • Newbie
  • *
  • Messages: 2
    • Voir le profil
[SFML 2.0 RC] Problème avec les sf::Text
« le: Décembre 15, 2012, 10:12:41 pm »
Bonjour  :)

J'ai un petit problème que je n'avais jamais rencontré avant avec les sf::Text.
Je vous explique précisément ce que je fais : je suis en train de faire un programme, pour le moment tout simple, dans lequel il y a un menu avec dedans des boutons. Ce menu est créé avec un sf::RectangleShape qui a une bordure noire pour bien distinguer le menu.

C'est à l'intérieur de ce bandeau que je place mes boutons, qui ne sont pour l'instant que des simples sf::RectangleShape sur lesquels je mets un sf::Text.
Je ne gère pas les événements pour l'instant.

Mais voilà, ces sf::Text qui sont dans les boutons ont un comportement assez étrange. Lorsque j'affiche le premier d'entre eux, celui-ci se transforme en un ensemble de rectangles noirs, alors que les autres s'affichent normalement.

Voici un screen pour illustrer le problème :

http://www.noelshack.com/2012-50-1355605829-screen-probleme-sftext.jpg

Je vous mets également ce code minimal compilable que j'ai préparé :

#include <SFML/Graphics.hpp>

int main()
{
    // Définition de la fenêtre
    sf::RenderWindow window(sf::VideoMode(800, 600), "Code minimal");
    window.setFramerateLimit(30);

    // Définition du fond
    sf::RectangleShape fond(sf::Vector2f(800, 600));
    fond.setFillColor(sf::Color::White);

    // Définition du bandeau de menu
    sf::RectangleShape bandeau;
    bandeau.setOutlineThickness(1.f);
    bandeau.setOutlineColor(sf::Color::Black);
    bandeau.setPosition(0.f, 0.f);
    bandeau.setSize(sf::Vector2f(800, 60));
    bandeau.setFillColor(sf::Color::White);

    // Définition des boutons
    sf::RectangleShape rectangles[3];
    sf::Text textes[3];
    for(int i = 0 ; i < 3 ; i++)
    {
        rectangles[i].setOutlineThickness(1.f);
        rectangles[i].setSize(sf::Vector2f(180.f, 40.f));
        rectangles[i].setFillColor(sf::Color::White);
        rectangles[i].setOutlineColor(sf::Color::Black);
        textes[i].setColor(sf::Color::Black);
        textes[i].setCharacterSize(16);
    }
    textes[0].setString("Texte 1");
    rectangles[0].setPosition(10.f, 5.f);
    textes[0].setPosition(75.f, 15.f);
    textes[1].setString("Texte 2");
    rectangles[1].setPosition(220.f, 5.f);
    textes[1].setPosition(265.f, 15.f);
    textes[2].setString("Texte 3");
    rectangles[2].setPosition(430.f, 5.f);
    textes[2].setPosition(475.f, 15.f);

    // Boucle principale
    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }

        window.clear();
        window.draw(fond);
        window.draw(bandeau);
        for(int i = 0 ; i < 3 ; i++)
            window.draw(rectangles[i]);
        window.draw(textes[0]);
        window.draw(textes[1]);
        window.draw(textes[2]);
        window.display();
    }

    return EXIT_SUCCESS;
}
 

J'ai fait quelques tests, et j'ai remarqué que ce n'est pas un sf::Text en particulier qui a le problème, mais le premier qu'on affiche (avec window.draw(); ).
J'ai également inséré une pause après le window.display();  et je me suis aperçu qu'au premier affichage, tous les boutons s'affichent correctement, mais qu'à partir du deuxième les rectangles noirs apparaissent.

Je vous remercie d'avance pour votre aide.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : [SFML 2.0 RC] Problème avec les sf::Text
« Réponse #1 le: Décembre 16, 2012, 10:03:41 am »
C'est un bug super connu, il faut que tu mettes à jour tes drivers Catalyst (il faut mettre la beta 12.11).
Laurent Gomila - SFML developer

Doueusa

  • Newbie
  • *
  • Messages: 2
    • Voir le profil
Re : [SFML 2.0 RC] Problème avec les sf::Text
« Réponse #2 le: Décembre 16, 2012, 01:13:46 pm »
Effectivement ça fonctionne maintenant, merci.