我一直在用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);
答案 0 :(得分:5)
您可以将文件放在任何您想要的位置。但你必须告诉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);