先说说我以前做背包系统的删除其他一个装备的需要做啥:
从数组中删除指定的元素 ==> 重新排序 ==> 重新渲染出图片在背包中。
优点:可以解决大部分问题,并且没有bug,我用了很久这种方式直接复制以前的代码就完成需求。
缺点:动一个元素要重新排序,然后整个列表刷新渲染一遍,资源上还是比较耗的,低端机刷几次就会卡顿。
就在今天我发现了另外一个比较方便的方法,得益于3.0版本上的priority:
流程:
从数组删除指定元素 ==> 更改节点的priority值(值越大节点就在后面) 即可
优点:不需要重新排序,不需要重新渲染贴图,不需要手动调整节点顺序
缺点:暂时没有发现。我简单看了下priority现实的方法好像并不是很耗性能(个人感觉),相对于之前的方案应该会好点。
前提是:生成节点的时候,需要设置他们的priority值,从0到最后
部分代码:
