2

我一直在研究 SDL 和 OpenGL(在 C++ 中),并决定在我的游戏中加入一些文本。

我已经学习了一些教程,但我总是得到同样的错误:“找不到 .ttf” 我敢肯定之前有人问过,但是你应该把字体放在哪里,你应该在 TTF_OpenFont 的第一个写什么范围?到目前为止,这是 TTF 部分。

if (TTF_Init() != 0)
{
    cerr << "TTF_Init() Failed: " << TTF_GetError() << endl;
    SDL_Quit();
    exit(1);
}

TTF_Font *font;
font = TTF_OpenFont("FreeSans.ttf", 24);
if (font == NULL)
{
    cerr << "TTF_OpenFont() Failed: " << TTF_GetError() << endl; // <-- This the error report
    TTF_Quit();
    SDL_Quit();
    exit(1);
}


SDL_Surface *text;
SDL_Color text_color = {255, 255, 255};
text = TTF_RenderText_Solid(font, "BLAH, BLAH, BLAH!", text_color);
4

1 回答 1

6

您可以将文件放在您想要的任何位置。但是你必须告诉TTF_OpenFont()它在哪里。

 TTF_OpenFont("FreeSans.ttf", 24);

您是说 FreeSans.ttf 文件位于程序的工作目录中。


如果你愿意,你可以把文件放在任何地方。例如:

 TTF_OpenFont("D:\\My Folder\\FreeSans.ttf", 24);

或者

TTF_OpenFont("D:/My Folder/FreeSans.ttf", 24);
于 2013-02-28T21:16:22.057 回答