返回NULL我試圖兩次加載字體到不同TTF_Fonts(不同尺寸),用下面的代碼:SDL TTF_OpenFont在第二次嘗試
char const* fontString;
char const* titleFontString;
//load the string values using libconfig
try
{
fontString = cfg.lookup("font_string");
}
catch(const SettingNotFoundException &nfex)
{
}
try
{
titleFontString = cfg.lookup("title_font_string");
}
catch(const SettingNotFoundException &nfex)
{}
font = TTF_OpenFont(fontString, STREAMER_FONT_SIZE/SCREEN_DIMENSION_DIVIDER);
pictureTitleFont = TTF_OpenFont(titleFontString, PICTURE_TITLE_FONT_SIZE/SCREEN_DIMENSION_DIVIDER);'
第一個將加載,但第二返回null。我叫他們的訂單並不重要,總是第二次失敗。爲什麼是這樣?
無論如何,TTF_GetError消息是「無法打開cinu」。如果我交換字體加載順序,它總是第二次失敗,所以它不會成爲我加載它的方式的問題。另外,如果我使用字符串而不是字體路徑的變量,那麼它的工作原理。不幸的是我不能這樣做。有任何想法嗎? – user2550951
在你的程序中似乎出現了一些真正的錯誤,需要更多的代碼來弄清楚發生了什麼。我不知道「cinu」來自哪裏,它應該顯示你的字體名稱。你的代碼是否與你在最初的問題中描述的完全相同? – emartel
我修改了代碼以顯示更多細節。讓我困惑的是,當我將調用順序交換到TTF_OpenFont時,它仍然是第二次調用失敗,即使認爲這兩個調用應該是不相關的(用分開的變量提供調用並接收返回值)。 – user2550951