Salut à tous.
Dans mon code, j'ai ceci:
window.clear();
window.draw(sprite); // affichage sprite
window.draw(texte); // affichage texte
window.display();
Ça marche bien, mais si je met window.draw(texte) avant window.draw(sprite), mon texte n'est plus visible.
J'avais un coup similaire avec texte-opengl, j'avais résolu avec window.push/popGLStates(), mais pour ce coup je suis un peu perdu.
Je vous donnes mon code quand même:
#include <SFML/Graphics.hpp>
#include <iostream>
int main()
{
sf::ContextSettings settings;
sf::RenderWindow window(sf::VideoMode(800, 600), "sfml", sf::Style::Default, settings);
window.setVerticalSyncEnabled(true);
// chargement du sprite
sf::Texture fondEcran;
fondEcran.loadFromFile("monimage.jpg");
sf::Sprite sprite;
sprite.setTexture(fondEcran);
// chargement font
sf::Font arial;
arial.loadFromFile("arial.ttf");
// chargement texte
sf::Text texte;
texte.setString("hello world");
texte.setFont(arial);
texte.setColor(sf::Color::Black);
while(window.isOpen())
{
sf::Event event;
while(window.pollEvent(event))
{
if(event.type == sf::Event::Closed)
{
window.close();
}
}
window.clear();
window.draw(sprite); // affichage sprite
window.draw(texte); // affichage texte
window.display();
}
return 0;
}
Merci d'avance.