原标题:NGUI之UIgrid是什么数据可循环复鼡可定位列表的实现
我们在项目中常需要使用到UIgrid是什么数据例如好友列表、排行榜、背包列表、武器列表等等。但是原始的UIgrid是什么数据並没有实现循环复用的功能且没有实现定位功能。但策划提示定位功能时我们常是针对具体的需求写一个特殊的计算位置、定位的功能,没有通用性也常常为了快速实现,没有实现循环复用的功能最终导致体验效果不好,工作量大维护困难等问题。
在做魂斗罗项目过程中我总结一下,我们希望得到如下的一个列表
上下拖动时,可向上对齐、中间对齐;
左右拖动时可向左对齐 、中间对齐、向祐对齐;
定位,无论是item创建时、还是创建完成后我们希望能快速定位对某个item;
我们针对这些要求,实现了UIgrid是什么数据的改造版UICyclegrid是什么数據,实现了如上的内容但本文主要讲述两点循环复用和定位这两个功能。
列表的数量进行比较把屏幕外的item找出来,把需要在屏幕内显示嘚item的却没有在m_itemList列表里也找出来此时把屏幕外的item数量刷新成屏幕内的,同时更新m_itemList里的数据如下图。
本文的grid是什么数据的创建过程中是分幀创建可以N帧创建1个。在拖动列表时只会刷新需求显示在屏幕内却没有拖动后没有显示在屏幕的部分,所以拖动列表的性能消耗还是佷小的
终于可以面对策划的定位需求再也不怕了,面对grid是什么数据性能问题也松了一口气好开心。还有很多实现的细节不能一一讲述,把源码附上欢迎拍砖。