BitmapFont按边界获取字符串?

时间:2014-02-12 04:44:29

标签: java libgdx game-engine bitmap-fonts

对不起我对libgdx有点新鲜(到目前为止真的很喜欢它!),所以可能有点先发制人的问题

我正在为我的RPG游戏实现一个对话框类。基本上我正在逐字逐句显示你在人物谈话时最终幻想游戏中看到的角色。通过使用BitmapFontCache类,我使用自动换行功能。我的下一步是实现“分页”。 (即您将一个字符串传递给对话类进行显示,并确定字符串的哪些部分可以适合每个对话页面)。我有点麻烦,不用计算我自己的自动换行。

是否有一个函数可以传递我的对话框的约束(比如一个矩形)并找回适合该约束的字符串部分? (考虑到自动换行+结束行等)。我可以逐个字符循环并使用getWrappedBounds(然后一旦超过我的约束高度就停止)但我觉得在获取字符串部分时我仍然需要考虑自动换行。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我有两个答案 -

首先,我认为这个函数可以满足您的需求:addWrappedText(java.lang.CharSequence str,float x,float y,float wrapWidth)(javadoc)。

其次,您可能希望使用内置的GUI组件而不是构建自己的GUI组件。我建议您查看scene2d ui,它是libgdx附带的库,允许您快速组合灵活的GUI。设置需要一些工作,但是由于你以这种方式免费获得皮肤和九个补丁之类的东西,它会给你很多选择,所以我强烈建议你看一下。