- 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循环才是正确的逻辑呢?






