2017-09-03 18 views
-1

SFMLで遊んで、私はフォントを設定しますが、それでもテキストを表示したくありません。どんな助けもありがとう。SFML - テキストを表示しない

オーウェン-Firstly

// Choose a font 
Font font; 
font.loadFromFile("fonts/arial.tff"); 

// Set our message font 
scoreText.setFont(font); 

scoreText.setString("Score = 0"); 
scoreText.setCharacterSize(100); 

// Choose a color 
scoreText.setFillColor(Color::White); 

// Position the text 
scoreText.setPosition(20, 20); 

window.draw(scoreText); 
window.display(); 
+0

ここで、window.clear()は何ですか?また、白い背景に描画しないようにしてください。 – pmaxim98

+0

put font.loadFromFile( "fonts/arial.tff");条件にも、フォントがロードされているかどうかを確認するために、 – pmaxim98

+0

window.clearがあり、それを含むのを忘れていて背景が空です。私は、フォントへのパスが正しくないように、フォントがロードされていないと思う。 –

答えて

0

、ありがとう:あなたのフォントを使用できるようにするには、それはそれ以外の場合は、プロジェクトのメインフォルダ内のフォントフォルダ内に存在している必要があります関数loadFromFile()はfalseを返しますが、これは公式ドキュメントに書かれていることに注意してください:

LOADFROMFILE機能は時々

-Secondly明らかな理由で失敗する可能性がある@ pmaxim98で述べたように、あなたが何かを描画する前にclear()関数を呼び出す必要があり、色の引数はテキストの塗りつぶしの色と異なることがなければならないので、表示されたテキストを表示することができます。

-Thirdly:

#include <SFML/Graphics.hpp> 
#include <iostream> 

using namespace std; 
using namespace sf; 

int main() 
{ 

RenderWindow window(VideoMode(800,600),"TEXT"); 

/****************************************************/ 

//Declare a Font object 
Font font; 

//Load and check the availability of the font file 
if(!font.loadFromFile("arial.ttf")) 
{ 
    cout << "can't load font" << endl; 
} 

//Declare a Text object 
Text text("Score = 0",font); 

//Set character size 
text.setCharacterSize(100); 

//Set fill color 
text.setFillColor(Color::White); 

/****************************************************/ 


while(window.isOpen()) 
{ 
    Event event; 
    while(window.pollEvent(event)) 
    { 
     if(event.type == Event::Closed){window.close();} 
    } 

    //Clear the window 
    window.clear(); 
    //Draw the text 
    window.draw(text); 
    //Display the text to the window 
    window.display(); 
} 

return 0; 
} 

幸運:プロジェクトのメインフォルダにフォントファイルを入れて、この最小限のコードを試してみてください。

+0

が、私はコピーしてシステムフォントからのArialフォントを貼り付けた理由を私は絶対にないアイデアを持っていません。私は今、ダウンロードした場合ロイヤリティフリーのフォントとそれは動作します。 –

関連する問題