首先,我想说在编程方面我还是一个完全的新手,而且我已经在寻找这个问题的答案,但我不确定出了什么问题。
我写了一个函数来为 sf::Text 对象设置参数:
void FontParam(sf::Text obj, sf::Font font, std::string text, sf::Color color, int size, int positionX, int positionY)
{
obj.setCharacterSize(size);
obj.setFont(font);
obj.setColor(color);
obj.setString(text);
obj.setPosition(positionX,positionY);
}
使用:
FontParam(t[0],font_Clubland,"R",sf::Color::White,100,100,100);
并且绘制它不起作用。把它写成:
t[0].setFont(font_Clubland);
t[0].setColor(sf::Color::White);
t[0].setPosition(100,100);
t[0].setString("R");
t[0].setCharacterSize(100);
并绘制它。
非常感谢任何帮助或提示,在此先感谢!
编辑: - - - - - - - - - - - - - -
万一有人想知道,访问冲突正在发生,因为我没有引用 sf::Font。正确的功能是:
void FontParam(sf::Text &obj, sf::Font &font, std::string text, sf::Color color, int size, int positionX, int positionY)
{
obj.setCharacterSize(size);
obj.setFont(font);
obj.setColor(color);
obj.setString(text);
obj.setPosition(positionX,positionY);
}
谢谢您的帮助!