赞
踩
游戏中的排行榜,商城等可滚动显示的界面通常要显示海量的数据,如果直接把所有数据对应的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,代码如下:
- /// <summary>
- /// item数据类
- /// </summary>
- public class ItemData {
-
- /// <summary>
- /// item的索引
- /// </summary>
- public int index;
- //item的价格
- public string money;
- public ItemData()
- {
-
- }
- public ItemData(int index,string money)
- {
- this.index = index;
- this.money = money;
- }
- }
这
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。