Bonjour,
J'essaye de créer une classe qui contiennent un sf::Font avec un sf::Text. Voici le code de la classe :
#include "..\inc\Text.h"
Text::Text() {
}
Text::Text(std::string fontPath, std::string textToDraw) {
if (!font.loadFromFile(fontPath))
{
std::cout << "error while openning a font" << std::endl;
}
text.setFont(font);
text.setString(textToDraw);
}
Text::~Text() {
}
Et son header :
#pragma once
#include <SFML/Graphics.hpp>
#include <iostream>
class Text : public sf::Font, public sf::Text
{
public:
Text();
Text(std::string fontPath, std::string textToDraw);
virtual ~Text();
private:
sf::Font font;
sf::Text text;
};
Enfin j'utilise mon code comme ceci :
Text txVersion("../data/font/Mono.ttf", "");
version = "Alpha 0.1";
txVersion.setString(version);
txVersion.setCharacterSize(24);
txVersion.setColor(sf::Color::White);
Et enfin la boucle d'affichage :
window.clear(sf::Color::Black); // Clear the window
txVersion.setPosition(10, 10);
window.display(); // Display
Cependant mon texte n’apparaît pas...
Je pense que cela viens de ma classe Text, à un moment je pense que la sf::Font ou sf::Text est supprimé de la mémoire mais je n'arrive pas à voir ou ...
Merci de votre aide.