设置为false的时候
js脚本里依旧能处理ui渲染,只是没显示? active = true的时候显示的都是处理过的状态
所以
-
cocos在处理渲染的时候是把所有的ui全部序列化的,active = false的时候,依旧可以处理这些数据,只是不绘制。当变成true的时候才开始绘制?
-
active = false的时候,是会销毁canvas里所有的渲染吗? toggle active值,开销大不大?
-
activeInHierarchy 和 active的区别?
设置为false的时候
js脚本里依旧能处理ui渲染,只是没显示? active = true的时候显示的都是处理过的状态
所以
cocos在处理渲染的时候是把所有的ui全部序列化的,active = false的时候,依旧可以处理这些数据,只是不绘制。当变成true的时候才开始绘制?
active = false的时候,是会销毁canvas里所有的渲染吗? toggle active值,开销大不大?
activeInHierarchy 和 active的区别?
creator 中,渲染组件和普通组件地位是等价的,普通组件也是一等公民。
对于一个节点来说,active = false,会导致所有子节点极其组件的 update 停止调用,并且触发 onDisable 回调。
没显示不就是不处理渲染么?
渲染和序列化无关。active = false 时,依旧可以处理数据,只是不绘制
只是会切换渲染组件的 visible,开销不大
activeInHierarchy 只读,表示节点当前是否激活,这个属性会收到父节点的 active 影响,如果父节点的 active 为 false,则子节点的 activeInHierarchy 同样会是 false
node.active = true;
node.opacity = 0;
node会先显示出来然后再隐藏,有闪屏的感觉,请问怎么解决
active = true;为什么不是下一帧才处理一些事件并渲染
现在切换active 是不是已经不会重排序所有节点啦?
Cocos Creator 2.4.8
我也遇到了这问题,后来发现是节点上带有Widget组件的话,节点在active时会触发Widget的更新,在更新的过程中,会强制无视脚本对同一节点的赋值,把widget移除后就没事了,但后来再加一次Widget后,又没这问题了,真是神奇
后来调查应该是跟组件执行顺序有关