首先,我想說的是,在編程方面,我仍然是一個完全新手,而且我已經在尋找這個問題的答案,事情是,我不知道什麼是錯的。函數不能按預期工作?
我寫了一個函數來設置參數爲SF ::文本對象:
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);
}
感謝您的幫助!
您正在修改obj的本地副本而不是原始副本。通過參考。 – Borgleader
更改它'&obj' –
獲取訪問衝突,請參見[這裏](http://puu.sh/4brsg/9cd0e4d771.png) – user2558804