我一直在闲逛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);
最佳答案
您可以将文件放置在所需的任何位置。但是您必须告诉TTF_OpenFont()它在哪里。
用
TTF_OpenFont("FreeSans.ttf", 24);
您是说FreeSans.ttf文件在程序的working directory中。
如果需要,可以将文件放在任何地方。
例如:
TTF_OpenFont("D:\\My Folder\\FreeSans.ttf", 24);
要么
TTF_OpenFont("D:/My Folder/FreeSans.ttf", 24);