2014-01-11 79 views
0

最近我遇到了一個問題。我不能讓sf :: Text工作。不知道爲什麼,字體似乎正在加載。 下面的代碼:不能得到sf ::文本工作

#include <SFML/Graphics.hpp> 

int main() 
{ 
// Create the main window 
sf::RenderWindow app(sf::VideoMode(800, 600), "SFML window"); 

sf::Font font; 
sf::Text text; 
if(!font.loadFromFile("/usr/share/fonts/TTF/arial.ttf")) 
    std::cout<<"Error"; 
text.setFont(font); 
text.setCharacterSize(30); 
text.setColor(sf::Color::Blue); 
// Start the game loop 
while (app.isOpen()) 
{ 
    // Clear screen 
    app.clear(); 

    // Draw the sprite 
    app.draw(text); 

    // Update the window 
    app.display(); 
} 

return 0; 
} 

有什麼建議?

+0

不知道任何有關SFML的知識,但是您是否確實在某處設置了「text」文本?我只看到字體和顏色。 – Nabla

+1

嘗試'text.setString(「Hello World」);'在你的遊戲循環之前的某個地方 – Machtl

+0

啊,我很愚蠢。對不起,浪費你的時間xD – Romen

回答

0
sf::Text infoText; 
    infoText.setPosition(0.0f, SCREEN_Y-23.0f); 
    infoText.setCharacterSize(20); 
    infoText.setString("press i for info"); 
    infoText.setFont(*resourceManager()->getFont(ResourceManager::FontResources::sansation_ttf)); 

適合我。你是否收到錯誤,或者它沒有顯示出來?

編輯:你給了什麼文字?它可能會初始化它「」。默認位置可能是(0,0),因此即使沒有明確設置,也不應該成爲問題。