这个方法比较常用
一般因为label导致的长度变化,想及时获取到真实宽高,确实使用楼上的_forceUpdateRenderData函数,使用label"_forceUpdateRenderData"这样的写法就行了,不会提示报错。
下一帧可不是 0.2s,可以用scheduleOnce实现下一帧计算,不会有卡顿感觉
我已经强刷了 label 高度是改变了 但是父节点是node 还是得下一帧才能刷
试一下这个
我想要及时获取label 的父节点node的高度变化 node上挂了layout 随着子节点的变化而变化
layout也要调用updateLayout
之前做过一个战报的显示功能,和你这个功能很像,,当时打apk的时候,每加一条战报就会很卡,越多越来越卡,后来研究了,是lable控件里的overflow.resize_height,这里的问题,就是自动更新高度,可能导致滚动条里的layout自适应计算了多次,当时我是把overflow=none得到解决,你可以尝试把已经显示出来的lable的overflow=none
父节点透明。好了再显示UI。这样用户第一眼看到的就是变化好的UI
、
我这个和你这个不太一样我这个是因为 没有及时获得到最新的高度 所以Y没有到指定位置 延迟又会出现闪的情况
只能通过这种优化解决了
你的问题是让用户觉得卡顿了 那就高度没拿到之前把节点的透明度0 拿到高度后再透明度255 无脑暴力
目测只能通过奇淫技巧来弥补cocos设计的不足,除此之外,别无他法
不依赖父节点,直接计算子节点的高度和不就好了
layout执行updateLayout方法立即刷新
对,你的这个思维是对的,但是有没有一种方法可以让用户主动去刷新layout节点的宽高呢?如果不提供,就感觉总是束缚手脚
这种方式我没试过,改天试下
你好,size_change,回调里可以拿到吗?
你这样 想不滚蛋都不行啊
