SDL_ttf - 字体目录/字体在哪里?

Mat*_*lds 2 c++ opengl sdl truetype sdl-ttf

我一直noodling周围的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);
Run Code Online (Sandbox Code Playgroud)

小智 6

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

 TTF_OpenFont("FreeSans.ttf", 24);
Run Code Online (Sandbox Code Playgroud)

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


如果您愿意,可以将文件放在任何地方.例如:

 TTF_OpenFont("D:\\My Folder\\FreeSans.ttf", 24);
Run Code Online (Sandbox Code Playgroud)

要么

TTF_OpenFont("D:/My Folder/FreeSans.ttf", 24);
Run Code Online (Sandbox Code Playgroud)