C ++ Sfml文本输出

时间:2014-04-17 21:19:03

标签: c++ visual-studio-2013 sfml

我最近开始在C ++中使用SFML,在绘制文本方面我遇到了问题。我设法运行默认程序,在窗口中绘制一个绿色圆圈,所以我假设没有硬件问题。我正在使用SFML 2.1和Visual Studio 2013。

这是我的代码:

#ifdef SFML_STATIC
#pragma comment(lib, "glew.lib")
#pragma comment(lib, "freetype.lib")
#pragma comment(lib, "jpeg.lib")
#pragma comment(lib, "opengl32.lib")
#pragma comment(lib, "winmm.lib")
#pragma comment(lib, "gdi32.lib")  
#endif // SFML_STATIC

#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>
#include <iostream>


int main()
{

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

sf::Text text;

text.setString(std::string("Hello World!"));

text.setCharacterSize(24);

text.setColor(sf::Color::Red);

text.setStyle(sf::Text::Bold);

    mywindow.clear();

    mywindow.draw(text);

    mywindow.display();

    std::cin.get(); //To prevent the window automatically closing.

}

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

在绘制文本之前,您需要通过创建sf :: Font对象来提供字体,使用其loadFromFile()函数,然后将其作为参数传递给sf :: Text的setFont()函数。

sf::Font font;
font.loadFromFile("file_path");
text.setFont(font);