【反馈】RichText的一个无法换行的问题

  • Creator 版本: 2.4.4

源码当中


这里是while循环,一些情况下this._lineOffsetX在字体包含描边时候,会使一行的宽度略大于 this.maxWidth。
举个栗子:
正常句子:

全体加描边:


最大宽度是535,在有描边的情况下this._lineOffsetX = 538.95,第一行已经超过了最大宽度,导致没法进入while循环,所以120%和之后的文字会挤到第一行,导致没法换行。
断点打印log看下具体值:
1、第一行:

2、当labelString = ‘120%’时候,if判断是进入了的,应该要换行了,但是while循环没进去,所以真正的换行操作等于是跳过了。

3、后面长句之所以换行是因为整个句子长度超过最大长度了,如果设想是几个不超过最大长度的短句,那么之后的情况就没法换行了。

建议:是不是得换成do while循环才是正确的逻辑呢?

这个是我使用的richText 的 String:
<color=#84F396>[unlock at +10]Blazing Angel: Energt from being<color=#84F396>120%</></> attacked of the ally Hero who is affecting by “Holy Judgement” is increased by <color=#84F396>120%</></></></>


但具体复现方法是,在编辑器里找到一行文字描述刚刚好被RichText截断,然后在后面用颜色标签加一个短句。