C ++ SFML字体问题

时间:2015-09-17 22:14:29

标签: c++ text fonts sfml

sf::RenderWindow window(sf::VideoMode(800, 600), "CALENDAR");

sf::Font font;
if (!font.loadFromFile("arial.ttf"))
    std::cout << "no\n";

sf::Text text1;
text1.setFont(font);
text1.setCharacterSize(30);
text1.setColor(sf::Color::Black);
text1.setStyle(sf::Text::Regular);
text1.setString("ttestst");

while (window.isOpen())
{
    sf::Event event;
    while (window.pollEvent(event))
    {
        switch (event.type){
        case sf::Event::Closed:
            window.close();
        }
    }

    window.clear(sf::Color::White);
    window.draw(text1);
    window.display();
}

此代码未在屏幕上显示文字,且字体未加载,我不知道该怎么做,感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

看起来字体的路径是错误的。如果您正在使用"arial.ttf",请确保该字体文件位于程序开始执行的同一目录中。

正如@twsaef所说,你也可以使用绝对路径,但不是这样:

"C:\Coding\Fonts\Arial.ttf"

这是错误的。您必须使用双反斜杠\

,而不是单反斜杠\\
"C:\\Coding\\Fonts\\Arial.ttf"