2017-09-03 15 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

the window.clear가 포함되어 있으며 그것을 포함하고 백그라운드가 비어 있다는 것을 잊었습니다. 글꼴 경로가 올바르지 않을 수 있으므로 글꼴이로드되지 않았다고 생각합니다. –

답변

0

감사하십시오 글꼴이 있어야 글꼴을 사용할 수 있도록 프로젝트의 주요 폴더에 폴더, 그렇지 않으면 함수 loadFromFile()은 false를 반환해야하지만 공식 문서에 기록되어 있습니다.

loadFromFile 기능은 때때로

-Secondly 명백한 이유 실패 할 수 있습니다 : @ pmaxim98에서 언급 한 바와 같이, 당신은 아무것도를 그리기 전에 clear() 함수를 호출해야하고, 색 인수는 텍스트 채우기 색상과 달라야합니다 그래서 표시된 텍스트를 볼 수 있습니다.

했습니다 - :

#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

하지만 복사 및 시스템 글꼴에서 굴림 글꼴을 붙여 넣을 이유가 전혀 생각이 없다. 지금 다운로드 한 경우 로열티없는 글꼴과 작동합니다. 답변 해 주셔서 감사합니다. –