3.7.2 richtext 带颜色换行计算错误


如图,第一行最后的位置,明显可以放下一个字,却空出这么多

demo.zip (1.5 MB)

你把描边去掉就正常了

这是bmfont,没有描边。而且就算有,也不能去掉啊,去掉怎么满足美术的效果呢

有解吗?@引擎组

:boom:

似乎是因为你的这个字体padding有点大了,你这个字体,字号40宽度是50,padding有10像素。纯Label字号32,单个字width=字号+padding=32+(50-40)(32/40)=40,2个字则是32+32+(50-40)(32/40)=72,<后才可以加入新>这个字计算宽度是单个字加起来的=40*7=280,下一行的则是预估值,单字宽=整行的长度 / 字数,所以更能填满甚至还有超出。目前来看只能通过减少padding缓解

野生creator驯服师, 不邀自来
[驯服前]
image
你需要修改引擎, 重新计算bmfont的字体宽度
[驯服后]
image

我框架扩展包中的RichText组件会比Cocos自带的组件效果更好些
D-Chat_20240403131206

https://forum.cocos.org/t/topic/150588/61?u=a1076559139

猜测是richText估算的行宽度算法不准吧