、ありがとう:あなたのフォントを使用できるようにするには、それはそれ以外の場合は、プロジェクトのメインフォルダ内のフォントフォルダ内に存在している必要があります関数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;
}
幸運:プロジェクトのメインフォルダにフォントファイルを入れて、この最小限のコードを試してみてください。
ここで、window.clear()は何ですか?また、白い背景に描画しないようにしてください。 – pmaxim98
put font.loadFromFile( "fonts/arial.tff");条件にも、フォントがロードされているかどうかを確認するために、 – pmaxim98
window.clearがあり、それを含むのを忘れていて背景が空です。私は、フォントへのパスが正しくないように、フォントがロードされていないと思う。 –