我创建了一个将文本呈现到屏幕的功能,我正在使用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)
}
我应该可以在每个成员函数中使用它,但它总是会引发分段错误,我基本上不能使用字体而不加载它并在我使用它的函数中定义它,是不是错了? 我无法帮助自己。
谢谢!
答案 0 :(得分:0)
解决了,我不得不在这个类中调用ttf init,因为我在baseclass中启动了ttf,但是在调用基类的init之前调用了这个类中的构造函数(这个二级类是baseclass的成员)< / p>