问题标签 [bitmap-fonts]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Libgdx BitmapFont 帧率不好
我有一个 BitmapFont 来显示玩家得分。玩家以恒定的速度移动。对于 BitmapFont,我使用第二个 OrtographicCamera 和 SpriteBatch,所以我不需要重新计算字体位置。
我的问题是:一旦我包含 BitmapFont,帧率就会下降,整个游戏就会变得迟钝。我究竟做错了什么?
fonts - libGDX 字体:对简单字符使用多种颜色
到目前为止,每当我在 libGDX 中处理字体时,我都会使用FreeTypeFontGenerator从 -File 中创建一个 BitmapFont .ttf
。现在我的问题如下:我想要一种字体,不仅支持一种颜色,而且每个字符支持多种颜色。例如,我想使用这样的字体,并为字符本身和轮廓选择一种颜色。我怎样才能做到这一点?我是否必须创建自己的 BitmapFont 文件,如果需要,如何创建?还是有更好/更简单的方法?
java - BitmapFont 特殊字符未在 Android 中显示,但在桌面版中有效
我有一个支持 android 和桌面版本的libgdx项目。对于我之前使用 FreeTypeFontGenerator 生成字体的字体。字体工作正常,但后来我决定使用 .fnt 和 .png 文件创建我的 BitmapFonts,以便可以选择支持 html 项目(FreeTypeFontGenerator 与 html 不兼容)
问题: 如果我启动 android 项目,则不会显示特殊字符,如(ü、ñ 等):
--> 在 android 文本中显示如下:ber
--> 在桌面文本中正确显示如下:über
奇怪的是,如果我运行桌面版本,特殊字符就可以正常工作,尽管桌面版本使用完全相同的代码(因为我在核心项目中创建了字体):
.fnt 和 .png 文件对我来说看起来确实不错(并且在桌面上运行良好!),因为我可以看到其中包含的特殊字符。我使用 Hiero 字体生成器创建以下内容:
好狗40.png
gooddog40.fnt
我试图调试它:
- 清理项目并再次启动它
- 添加了一条日志语句:为android 和桌面项目打印
Gdx.app.log("font", "contains ü: " + font.containsCharacter('ü'));
!所以在某些时候android项目知道字体中存在特殊字符,但是为什么它不能显示呢?font: contains ü: true
这种字体在android中不显示特殊字符,但在桌面上却显示的原因可能是什么?
fonts - 如何使用 Fontforge 将 TTF 转换为 FNT
我有一个 TTF 字体,需要在 FNT 中转换(理想情况下也是在 pcf 中)。我尝试了 Fontforge,但是当我加载字体并选择生成字体时 - 无法从右侧的列表中选择任何内容,除了“无位图字体”虽然有 WIN FNT。谁能帮我这个?
text - Matrox 图形适配器使用的经典 VGA 文本控制台字体
早在 199[456] 时,我正在使用 Linux 和 Matrox 图形适配器。对于编程,我经常使用文本模式,并没有费心启动 X11。这些显卡允许非常高的文本分辨率,并且仍然具有非常易读的字体。有时我想测试一下这种字体是否适合在 X11 上进行编程——但我找不到这种字体来试一试!
我进行了深入的搜索,例如这里,但似乎没有一种字体看起来像 Matrox 字体。所以,问题:
- 使用了哪种字体?是在那些显卡上看起来更好的常规控制台字体吗?
- 这个字体可用于 X11 吗?哪一个?
- 有没有例子/截图?
如果有人能解释我只是产生幻觉还是我的记忆是准确的,我会非常高兴。
更新:我已经找到了一个很好的资源。选择字体Px437_IBM_VGA_8x16.ttf
并将终端设置为 12px 非常接近我的记忆。由于现在显示器的分辨率要高得多,字体变得非常小,放大它看起来有点不对劲。我将不得不进行实验。
cocos2d-iphone - Cocos2d 中的精灵和位图字体标签共享相同的纹理图集
我有一堆共享相同纹理图集的精灵,像这样
还有一堆位图字体标签,使用同一个FNT字体,像这样
它们都在同一层
我想知道是否将font.png
文件(由 使用font.fnt
)打包到纹理图集中,例如使用纹理打包器之类的工具,是否会导致 cocos2d 使用相同的纹理图集来绘制标签和精灵
fonts - 如何将位图字体添加到 SpriteBuilder
我无法将任何 .fnt/.png 类型的字体添加到 SpriteBuilder,因此我无法为 CCLabelBMFont 选择它们。程序是什么?文档似乎对此事一无所知。
我正在使用这种字体:
https://github.com/cocos2d/cocos2d-iphone/blob/v3.1/Resources/Fonts/arial16.fnt https://github.com/cocos2d/cocos2d-iphone/blob/v3.1/Resources/Fonts /arial16.png
更新:目前似乎没有真正好的解决方案,除了以下变通方法:
在处理 CCLabelBMFont 时不要使用 SpriteBuilder,毕竟如果你从代码中使用 arial16 字体,你可以使用它。很遗憾 SB 不支持与现有 Cocos2D “捆绑”的字体。当然,可能有充分的理由......
就我而言,我只使用 CCLayoutBox 并向其添加固定大小的字符精灵,根本不使用任何字体类。它实际上非常快,足以制作倒数计时器等。
android - LibGDX - 使用 BitmapFont 进行更清晰的字体渲染
想知道是否有一个简单的解决方案;我在 libGDX Android 项目中使用精灵批处理和位图字体渲染一些文本。文本渲染得很好,但在一些字母之后会出现一些微妙的灰点,我想清理一下。更多上下文;我正在加载使用 Hiero 生成的粗体漫画 sans 字体(目前),我已将字体纹理的 minfilter 和 magfilter 设置为线性。此外,我不会在代码中的任何位置放大或缩小字体,但以后可能会想要。这是一个供参考的屏幕截图:http: //i824.photobucket.com/albums/zz161/9bjames/Screenshot_zpseac8c515.png(您可能需要放大一点)。
我查了一下,发现了这个:BitmapFont rendering artifacts,但我想知道是否有更快的修复......或者至少一个不那么“hacky”的修复。例如,使用距离场字体或自定义着色器会有所帮助吗?谢谢,让我知道您是否需要更多信息才能继续。在此期间,我将继续研究它。
- 快速编辑:发现使用默认纹理过滤器(最近的)有助于处理灰点,只要我不放大。似乎使用 TextureFilter.Nearest 的质量通常也会下降......但现在它会做,而我让更重要的部分工作。任何建议仍将不胜感激。
libgdx - 在单个 Atlas 中合并 BitmapFont 和 UI 皮肤?
如果我有一个UI
带有 a.atlas
和一个带有 a 的 BitmapFont.atlas
是否有一种简单的方法可以将它们组合成一个,或者我必须自己将它们合并到一个图像文件中并手动将组合.atlas
中的所有元素偏移到正确的位置?它可以手动完成,但有点乏味,如果有轻微的计算错误,可能必须重做每个位置和/或大小。
java - Libgdx Programm 可以作为桌面应用程序正常工作,但不能在 html 中工作
当我将它作为桌面应用程序启动时,我的程序运行良好,但是当我运行 superdev 并在我的浏览器中运行它时,我在屏幕下方出现错误。错误消息说:
GwtApplication: 异常:font/white.fnt 不存在
font/white.fnt 不存在