LibGDX WrappedText,但在文本中使用颜色(java)

LibGDX WrappedText,但在文本中使用颜色(java),java,android,colors,libgdx,ansi-escape,Java,Android,Colors,Libgdx,Ansi Escape,我在过去做了一些代码来检查文本,找到可以改变文本颜色的颜色代码。例: 绘制此图: 你好,我叫约翰&b 绘制时会给出这样的结果:您好,我的名字是john,但是“is john”将是蓝色的,因为我使用了&b颜色代码。我基本上是在模仿ansi,而不是java 现在我想完全像LibGDX的BitMapFont.drawWrapped(…)一样包装文本,但仍然使用颜色代码。有人知道怎么做吗?我可能最终会找到答案,但我只是想知道是否有比我更好的方法。支持颜色标记:: BitmapFontCache类通过简单

我在过去做了一些代码来检查文本,找到可以改变文本颜色的颜色代码。例:

绘制此图:
你好,我叫约翰&b
绘制时会给出这样的结果:
您好,我的名字是john
,但是“is john”将是蓝色的,因为我使用了&b颜色代码。我基本上是在模仿ansi,而不是java


现在我想完全像LibGDX的
BitMapFont.drawWrapped(…)
一样包装文本,但仍然使用颜色代码。有人知道怎么做吗?我可能最终会找到答案,但我只是想知道是否有比我更好的方法。

支持颜色标记::

BitmapFontCache类通过简单的标记语言支持字符串颜色的文本

默认情况下禁用标记。使用该方法将其打开/关闭

标记语法非常简单,但仍然通用:

  • [名称]按名称设置颜色。有一些预定义的颜色,请参阅colors.reset()方法以获取详尽的列表。用户可以通过colors类的方法定义自己的颜色
  • [#xxxxxxxx]以RRGGBBAA的形式设置十六进制值xxxxxxxx指定的颜色,其中AA是可选的,默认为0xFF
  • []将颜色设置为上一种颜色(可选的结束标记类型)
  • [[退出左支架
请注意,颜色名称区分大小写,不能为空,不能以#或[,也不能包含]开头。此外,颜色名称中出现的任何[都不能转义

有关示例代码,请参见测试类


哇,谢谢,我决定只替换颜色代码(&r,&b等),而不是更改位图字体的颜色使用libgdx代码。非常感谢!你还可以更改文本是否粗体吗?没关系,我最终决定不使用它。我正在开发一个mmo,如果人们在聊天中编写无效的十六进制代码,这将使每个人的游戏崩溃。我想我以前做得很好。无论如何,谢谢!