c++ - SFML - 未能创建字体
问题描述
我正在 WSL 环境中开发一个 C++ 项目。该项目包括 SFML 库。我必须使用 XLaunch 打开 SFML 窗口。我正在尝试通过从 .ttf 文件加载字体来呈现文本。我明白了
Failed to load font "Graphics/fonts/fff-forward-regular.ttf" (failed to create the font face)
这是我的代码:
#include <SFML/Graphics.hpp>
#include <SFML/Window.hpp>
#include <SFML/OpenGL.hpp>
int main() {
sf::RenderWindow window(sf::VideoMode(1600, 900), "Dungeon Crawler", sf::Style::Close);
sf::RectangleShape quit_button(sf::Vector2f(300, 100));
quit_button.setOrigin(150, 50);
quit_button.setPosition(800, 600);
quit_button.setFillColor(sf::Color::Magenta);
sf::RectangleShape start_button(sf::Vector2f(360, 120));
start_button.setOrigin(180, 60);
start_button.setPosition(800, 300);
start_button.setFillColor(sf::Color::Cyan);
sf::Font pixel_font;
pixel_font.loadFromFile("Graphics/fonts/fff-forward-regular.ttf");
sf::Text quit_text("Quit", pixel_font, 30);
quit_text.setOrigin(quit_text.getLocalBounds().width/2, quit_text.getLocalBounds().height/2);
quit_text.setPosition(quit_button.getPosition());
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear();
window.draw(quit_button);
window.draw(start_button);
window.draw(quit_text);
window.display();
}
return 0;
}
SFML 窗口打开,其他一切似乎都可以正常工作,但渲染字体不起作用。我检查了 .ttf 的路径是否正确。无法弄清楚是什么原因造成的。
解决方案
推荐阅读
- oracle - 我试图从 sys_refcursor 获取 bulkcollect 记录并尝试使用 forall 插入另一个表,但它会抛出错误消息
- reactjs - React: - 父组件引用子组件的状态
- codenameone - 代号一 在焦点组件上捕获点击事件
- vba - 根据当前记录在另一个表单中重新查询一个表单
- swiftui - 每隔几秒将borderStroke更改为随机颜色
- google-maps - Flutter web Google Map 视图未显示
- c++ - 覆盖对话框中的引用以更新值的好主意?
- javascript - 如何使用 Vanilla 或 lodash 对这个对象数组进行排序
- mysql - 如何处理折扣表?
- sql-server - 如何在 SQL Server 中读取 xml?