PySDL2位图字体

2024-05-19 05:07:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在尝试为PySDL2制作位图字体,但字符间距有问题。API需要一个表面、通用字符标志符宽度&;高度和字符映射。字体是通过从指定宽度的位图读取字形创建的;通过将高度与输入的贴图相关联来确定高度

bmpfont = sdl2.ext.BitmapFont(font_surface, (64, 64), mapping)

我知道很多游戏开发框架都使用类似的模式,但是通过在位图中提供特定的字形宽度、高度和偏移量,允许XML列表来说明不同大小的字符(例如,“w”是短的和胖的,而“|”是高的和瘦的)。PySDL2 BitmapFontdocumentation显示了一个偏移量字典,但据我所知(通过多次尝试迭代),它无法被操作以实现类似的目标

正如我下面的例子中使用“|”和“j”所看到的,间距看起来很傻,因为每个字符都被读取为64x64像素,而且由于前面提到的原因,我无法控制该间距

pipes and jays

由于项目的要求,这是要集成到,它必须是位图字体,我不能利用类似的TTF库PySDL2。非常感谢您的帮助


Tags: api宽度高度字体字符表面ext偏移量
1条回答
网友
1楼 · 发布于 2024-05-19 05:07:08

我认为使用py-sdl2ext.font库不可能做到这一点,但通常手动执行此操作的方法是查找glyph,查找其边,并根据其各自的边界框复制每个边。这里有一个指南,用C++和SDL2:^ a1}完整地描述这个过程。

相关问题 更多 >

    热门问题