我一直在測試SFML 2.3中的一些功能最近,我已經開始習慣C++了。 玩過之後,我決定嘗試將文本添加到程序中,其中sf::Text
和sf::Font
。sf :: Font :: loadFromFile崩潰程序
一旦這樣做,我一直在運行程序時遇到問題,甚至使用它的教程。
我試圖調試它,但都沒有從看到任何問題,但在運行的時候,在哪裏它借鑑「文」,一個對話框出現,說:「text.exe已停止工作」
點我正在運行Windows 10 10586,而我正在使用VS2012 Professional。
我有下面的代碼,我到目前爲止。在一個循環中沒有延遲
font.loadFromFile("arial.ttf")
:
#include <iostream>
#include <SFML/Graphics.hpp>
int main()
{
sf::RenderWindow window(sf::VideoMode(800,600),"Text Test");
sf::Text text;
sf::Font font;
std::cout << "Created the Window." << std::endl;
std::cout << "Loaded Text and Font classes" << std::endl;
while (window.isOpen())
{
sf::Event event;
std::cout << "Created window Function loop" << std::endl;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
if (!font.loadFromFile("arial.ttf"))
{
std::cout << "Program Halted." << std::endl;
std::exit(-1);
}
std::cout << "Loaded Fonts." << std::endl;
text.setFont(font);
text.setString("I am a Test");
text.setCharacterSize(20);
window.clear();
window.draw(text);
window.display();
}
return 0;
}
這將是更好的移動加載該字體和初始化'SF :: Text'對象出主處理的代碼循環。這應該是每秒執行多次。 – Galik
@Henry除了在你的標題中加入'(Solved)',你可以接受你最喜歡的答案。我們就是這樣做的。 – LogicStuff
我聽說過這個,但是因爲我的答案基本相同,所以我不能說一個比另一個好。所以我寧願告訴人們它已經「解決」了,而不是獲得更多的答案,要麼使其變得更加複雜,要麼作爲重複的答案。 –