3.8.1的Label不敢用Char Mode了

因为项目数字比较多,想优化下性能,就大部分Label都用char,但会出现一些问题如:

  1. 把Label加了描边后,用char,文字会变宽。
  2. 原生安卓,我这做一些剧情向的项目,不小心把对话文本用char模式,虽说不小心,但才播放了几个对话,直接报Cannot read property ‘atlasName’ of null并卡死 ,开始不知道咋回事,要不是这篇文章,估计得排查一段时间。因为在2.x中,假设char模式图集满字了。文字是不显示而已,而不是直接卡死.所以第一时间也没想到是图集字满。

还有一些体验比较糟糕得地方是如zIndex的移除,我这使用了setSiblingIndex,在原生安卓并没有按照预期的效果进行渲染排序,然后用了废弃的UITransform里的priority,都没有按照预期,甚至还一直提示叫我用setSiblingIndex。2.x版本是用zIndex,在原生跑一点问题都没。

刚跑了一下,原生安卓上setSiblingIndex是有效的,但是需要每次新增节点时,遍历一次所有新增的节点,然后设置一次setSiblingIndex才行。每次新增节点,只设置当前节点setSiblingIndex是不行的,假设新增节点A,index为10,再新增节点B,index为2,这样并没有效果,需要遍历一次所有增加的节点,然后都给setSiblingIndex一次才有用。 :rofl:

顶顶顶顶 @引擎组

实际上这里有个问题是如果我设置为2,但是我已经节点的index为2了,我不知道引擎怎么处理的

用我写的这个就行了,开源

https://forum.cocos.org/t/topic/139158/63?u=1226085293

修改图集大小就好,在引擎代码那边编译一下就可以