SDL_ttf - Каталог шрифтов/Куда идут шрифты?

Я возился с 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);

person Matt Reynolds    schedule 28.02.2013    source источник


Ответы (1)


Вы можете поместить файл куда угодно. Но вы должны указать TTF_OpenFont(), где он находится.

С участием

 TTF_OpenFont("FreeSans.ttf", 24);

Вы говорите, что файл FreeSans.ttf находится в рабочем каталоге программы.


Если вы хотите, вы можете поместить файл куда угодно. Например:

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

or

TTF_OpenFont("D:/My Folder/FreeSans.ttf", 24);
person Community    schedule 28.02.2013
comment
Хорошо. Каким будет путь на Mac? Я пробовал как Macintosh HD/FreeSans.ttf, так и Users/Name/FreeSans.ttf, оба с файлом в соответствующем месте, и ни один из них не работал. - person Matt Reynolds; 01.03.2013
comment
В первый раз я переместил его в сам диск (ни в какие папки), поэтому «Macintosh HD/FreeSans.ttf. - person Matt Reynolds; 01.03.2013
comment
Во второй раз он был в моем основном пользовательском каталоге, поэтому Macintosh HD/Users/‹mah name›/FreeSans.ttf (или ~/FreeSans.ttf) - person Matt Reynolds; 01.03.2013
comment
Спасибо, помог найти свою ошибку. Второй способ работает, я просто забыл начальный «/» перед «Пользователи». - person Matt Reynolds; 01.03.2013