2.0 以上 代码已经改变 label 的长度。好像这一帧 不能及时获取到最新的 label 的宽度。这是怎么回事?2.0 的BUG 吗?
1赞
2.0 获取 node 的 宽度 是有 延迟?还是引擎 丛异步处理了?
有大佬或者 官方 解答一下 这是什么原因吗?
在线等
顶一下
不能及时获取到label宽度很不好,比如要动态调整背景图的大小,那么采用下一帧获取的话就会出现闪烁一下。
可以手动刷新,具体函数我忘了,你找找看·····
设置字符串后,在这样处理一下。
this.label._updateRenderData();
这样处理 也不行啊。还是不能及时获取到 改变后label 的 宽度
对 得闪一下 很不友好
解决了 少传了 参数 ture
完美
感谢大佬
请问node该如何解决?我想让node也动态修改width
2.2.0版本,这个方法去掉了吗?
是的……现在有两个类似的方法,我用_forceUpdateRenderData测试了下是可行的。
_lazyUpdateRenderData () {
this.setVertsDirty();
this.markForUpdateRenderData(true);
},
_forceUpdateRenderData () {
this.setVertsDirty();
this._resetAssembler();
this._applyFontTexture(true);
this.markForUpdateRenderData(true);
},
参考我们工作室的博客:https://xmanyou.com/cocos-creator-label-dynamic-size/
你好,我用2.2.2版本,没有this.label._updateRenderData();这个函数呢
API名字改了,你更新下
_forceUpdateRenderData
谢谢大佬,我后面自己找到了,下次我会看完下面的评论再提问,不好意思哈,辛苦您了