库GDX 。绘制多行文本
Posted
技术标签:
【中文标题】库GDX 。绘制多行文本【英文标题】:LibGDX . draw multiline text 【发布时间】:2014-10-16 00:41:12 【问题描述】:我正在尝试在 libGDX 中使用 BitmapFont 编写大文本。但它显示在一行上,用户只能看到文本的第一部分。如何使 bitmapFont 自动换行并在屏幕上显示整个文本?
【问题讨论】:
当没有更多可用空间时,您希望它自动跳到下一行吗? 是的。我应该使用 \n 吗? 要么使用 \n 手动换行(font.drawMultiline),要么使用带有 wrapwidth 的 font.drawWrapped 自动完成。 @noone 很高兴了解bitmapFont.drawWrapped()
,这个方法非常有用。
【参考方案1】:
要么使用\n
手动换行,要么通过font.drawMultiLine(...)
渲染字体。
或者使用 font.drawWrapped(...)
和一个换行宽度让 libgdx 自动换行(手动添加的\n
仍然支持)。
更新:在 libGDX 1.6 中,draw methods were enhanced 不再需要 drawMultiLine 和 drawWrapped,因此已将其删除。 Draw 方法可以处理多行,并引入了一个新的boolean wrap 参数。
【讨论】:
似乎在最新的 libgdx 版本中不再有 font.drawMultiLine(...)/font.drawWrapped(...) 方法。现在怎么写多行文字? 现在你可以简单地使用 font.draw(...) 和 \n 来换行【参考方案2】:如果您查看文档,您会发现您可以使用相同的 font.draw
函数,但现在您要传递目标位置宽度以及是否换行。
draw(Batch batch, java.lang.CharSequence str, float x, float y, float targetWidth, int halign, boolean wrap)
【讨论】:
以上是关于库GDX 。绘制多行文本的主要内容,如果未能解决你的问题,请参考以下文章