动态修改node的宽度时会出现没有立即刷新绘制,如何解决?

效果就是根据我鼠标移动的距离来改变一个node的宽度,但是在touchmove动态修改width时没有立即生效,有人知道怎么解决这个问题吗?

node直接改就可以,你是什么骚操作才能搞出这个来。

Test.zip (594.2 KB)

node的宽度是可以动态修改的。
touchmove是每一帧都会触发的事件,也就是说当你手指滑动时,它输出的deltaY/deltaX是上一帧到当前帧你移动过的距离。
所以你移动的越快距离也就越大。
并且没有出现不立即刷新的问题,你检查下是否代码或者其他问题。

万分感谢啊,通过对比你的test我找到了原因,是因为我在节点下挂了一个sprite组件,同时还挂了widget组件,但是widget组件的模式不是always,所以导致我在移动鼠标时长度停在了6px,被背景遮挡住了看不到,去掉了widget组件后没问题了,谢啦,没你这个demo我估计还要找半天原因啊

感谢官方大大们抽空解答啊,原因找到了,是因为widget组件使用不当引起的bug,万分感谢啊

所以说没事不要用widget