我正在尝试将sf :: Font加载到sf :: Text,并且由于分段错误而崩溃。你们当中有人知道为什么吗? (我正在使用命名空间sf btw)
编辑:将课程的其余部分添加到问题中
类的定义:
class CellButton{
public:
CellButton(int top_left_x, int top_left_y, string text);
RectangleShape& getButton() {return cell_button;};
void draw_self(RenderWindow& phone_window);
private:
int top_left_x;
int top_left_y;
Font buttonFont;
Text buttonText;
RectangleShape cell_button;
};
构造函数:
CellButton::CellButton(int top_left_x, int top_left_y, string text): top_left_x(top_left_x), top_left_y(top_left_y){
cell_button.setSize(Vector2f(button_size_x,button_size_y));
cell_button.setFillColor(Color::White);
cell_button.setOutlineThickness(1);
cell_button.setOutlineColor(Color::Black);
cell_button.setPosition(Vector2f(top_left_x,top_left_y));
if(!buttonFont.loadFromFile("./tiff/PoiretOne-Regular.ttf")) cerr<<"Error ocurred at loading font"<<endl;
buttonText.setFont(buttonFont); // <- here occures segmentation fault
buttonText.setCharacterSize(24);
buttonText.setStyle(Text::Regular);
buttonText.setString("MIGHTY BUTTON!");
buttonText.setFillColor(Color::Black);
buttonText.setPosition(Vector2f(top_left_x/2,top_left_y/2));