【发布时间】:2023-01-11 00:16:41
【问题描述】:
我正在尝试构建一个需要文本渲染的 Rust 游戏。我找到的方法是:
let font:&Font = &ttf_context.load_font(FONT_PATH, 128)?;
我的问题是这需要构建的二进制文件需要有字体文件。我想要的是二进制文件本身包含字体文件。
我简单地尝试使用include_bytes!() 和include_dir!(),但我似乎无法让它们与&ttf_context.load_font() 一起工作,它期望路径的 &str 只是让我回到原来的问题,我得到错误 "Couldn't open ./assets/Font.ttf"
有没有办法以某种方式包含字体文件,这样我仍然可以获得它的路径,或者我应该以不同的方式呈现文本?
编辑 1:我可以将二进制文件和资产文件夹组合成一个文件,例如 macOS 的 .app 文件或 Windows 的 .exe 文件吗?
【问题讨论】:
-
你需要做
load_font_from_rwops,传递它RWops::from_bytes。 -
将所有游戏资产嵌入二进制文件是非常不寻常的。
Font.ttf是否真的存在,这只是在运行时定位assets文件夹的问题? -
我所希望的是能够在不需要同一目录中的资产文件夹的情况下运行该程序。有没有其他方法可以做到这一点,例如 macOS 上的
.app文件?