-
SFML / 텍스트그리기(폰트)활동 기록 😵💫/SFML 테트리스 2023. 1. 19. 20:15
#include <SFML/Graphics.hpp> #include <string> #include <exception> int main(void) { sf::RenderWindow window(sf::VideoMode(400, 300), "SFML window"); // main window 생성 sf::Font font; if (!font.loadFromFile(R"(C:\Users\sssan\Library\Fonts\NanumFont\NanumGothic.ttf)")) throw std::exception("font error"); // 쓸 폰트 생성 sf::Text text("유선 hi", font, 50); text.setFillColor(sf::Color::Green); //글씨 색깔 //화면에 쓸 내용 while (window.isOpen()) //윈도우 루프 { sf::Event event; while (window.pollEvent(event)) if (event.type == sf::Event::Closed) window.close(); // 종료 여부체크 window.clear(); //화면청소 window.draw(text); //화면에 글쓰기 window.display(); //띄우기 } }폰트가 없어서 오류가 났다
폰트는 sf::Font 클래스에 캡슐화 되어있고, 주요기능은 폰트의 로딩과 glyphs(시각적인 문자)의 획득, 속성 읽기
loadFromFile 메소드로 디스크에서 로드해서 사용함
sf::Font font; if (!font.loadFromFile("arial.ttf")) { //error }sfml 자동으로 시스템에서 폰트 로드해주지 않음
1. 폰트명이 아닌 파일명 필요
2. 폰트 로드하려면 앱에 폰트파일 포함시켜야함
아무튼 그래서 https://www.freefontspro.com/14454/arial.ttf
Arial font free download - FreeFontsPro.com
:: File Contents(Arial .TTF Download)
www.freefontspro.com
여기서 arial 폰트를 다운받았다.
그래서 그냥 위처럼 했는데 안됐다.
경로를 복사해야했다.
R"(C:\Users\User\Downloads\arial\arial.ttf)
그리고 색깔도 바꿔주고 싶었는데 빨간색 초록색 하얀색 노란색 파란색 밖에 없었고
어떻게 섞어서 쓰는것 같은데 어려워서
다시 검색해보니까
- █ sf::Color::Magenta 이런색이있었다 !

보라색이 아니어서 아쉽다
'활동 기록 😵💫 > SFML 테트리스' 카테고리의 다른 글
SFML / 윈도우 관리, 이벤트 튜토리얼 (3) 2023.02.05 SFML / 기본윈도우 (1) 2023.02.04 SFML/ 사용자 데이터 스트림 (5) 2023.02.04 SFML 튜토리얼(시간, 스레드) (4) 2023.01.23 C++에 SFML 적용하기 (2) 2023.01.18