当前位置:   article > 正文

(一)unity优化方案:优化NGUI中ScrollView海量数据的显示(适用于游戏中排行榜,商城等可滚动界面的显示)_unity 排行榜优化

unity 排行榜优化

游戏中的排行榜,商城等可滚动显示的界面通常要显示海量的数据,如果直接把所有数据对应的item实例化到Grid列表下面,作为一名游戏开发者,这么做是极为不明智的,通常用的技巧就是重用item。打个比方:如果有千条数据需要显示在界面中,但界面只能一次显示3条数据信息,那么重用item的思想只需要最多最开始实例化出4个item加入带Grid列表下面即可,而不是实例化出千个item,无疑大大提高了游戏性能。

接下来我说一下重用item的基本思想:当滚动列表向上移动时(也就是鼠标或触屏向上移动,数据向下显示),就把超出屏幕上部的item移动到列表末尾位置并重置数据。当滚动列表向下移动时(也就是鼠标或触屏向下移动,数据向上显示),就把超出屏幕下部的item移动到列表开头。思想说完了,接下来开始正式开发Demo了。

一、制作一个scrollview滚动界面

这里我是比着NGUI的官方Demo(下载NGUI插件并导入untiy,然后会有一个Example7-Scroll View(Panel).unity)制作的。如下图所示,官方Demo是一个可以横向滚动的滚动列表,而我要做成一个竖向滚动的列表(一般排行榜、商城都是竖向显示数据的哈哈哈,再来自己动手做一遍效果比较好)。

制作完scrollview后,在grid下创建一个我们想要的Item,不要忘记添加BosCollider和UIDragScrollView,BosCollider要勾选IsTrigger。并制作成预制体。制作完后运行场景,可以看到一个item,并且可以在ScrollView范围内拖拽.。

下面是我做的效果图:

二、编写脚本

2.1 编写数据类脚本ItemData,代码如下:

  1. /// <summary>
  2. /// item数据类
  3. /// </summary>
  4. public class ItemData {
  5. /// <summary>
  6. /// item的索引
  7. /// </summary>
  8. public int index;
  9. //item的价格
  10. public string money;
  11. public ItemData()
  12. {
  13. }
  14. public ItemData(int index,string money)
  15. {
  16. this.index = index;
  17. this.money = money;
  18. }
  19. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/369439
推荐阅读
相关标签
  

闽ICP备14008679号