2

抱歉,我对 libgdx 有点陌生(到目前为止真的很喜欢它!),所以可能是一个有点入门的问题

我正在为我的 RPG 游戏实现一个对话框类。基本上,当人们说话时,我会让它像你在最终幻想游戏中看到的那样逐个字符地显示。通过使用 BitmapFontCache 类,我让它在自动换行方面工作得非常好。我的下一步是实现“分页”。(即,您将一个字符串传递给要显示的对话类,它决定了字符串的哪些部分可以适合每一页对话)。我在不求助于计算我自己的自动换行的情况下遇到了一些麻烦。

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

有任何想法吗?

4

1 回答 1

1

我有两个答案给你——

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

其次,您可能想考虑使用内置的 GUI 组件,而不是自己构建。我建议您查看scene2d ui,这是一个 libgdx 附带的库,可让您快速组合灵活的 GUI。设置需要一些工作,但它会在以后为您提供很多选择,因为您可以通过这种方式免费获得皮肤和九个补丁之类的东西,所以我强烈建议您查看它。

于 2014-02-12T07:49:23.357 回答