SDL2 在函数外部加载字体会引发错误

SDL2 Loading font outside of the function raises error

本文关键字:体会 错误 字体 加载 函数 外部 SDL2      更新时间:2023-10-16

>我创建了一个将文本呈现到屏幕上的函数,我正在使用SDL2_ttf打开这样的字体

TTF_Font *font = TTF_OpenFont("font.ttf",50);

不幸的是,我有几个函数将一些文本渲染到屏幕上,所以我不想在每个呈现文本的函数中创建局部字体变量,所以我意识到我可以输入:

TTF_Font *font = NULL;

到我的类,然后在构造函数或任何将加载它的函数中为其分配一种字体(当然,该函数将在使用字体之前调用)。

因此,假设我们有一个构造函数:

Class::Class(){
font = TTF_OpenFont("font.ttf",50); //the font should be loaded now (declared in class)
}

应该能够在每个成员函数中使用它,但它总是引发分割错误,如果不加载字体并在我正在使用它的函数中定义它,我基本上无法使用字体,有什么问题?我情不自禁。

谢谢!

解决了,我不得不在此类中调用 ttf init,因为我在基类中启动了 TTF,但是在调用基类中的 init 之前调用了这个类中的构造函数(这个二级类是基类的成员)