基于Unity的无限拖拉循环列表显示方法和系统技术方案

技术编号:21831843 阅读:36 留言:0更新日期:2019-08-10 17:42
本发明专利技术公开基于Unity的无限拖拉循环列表显示方法和系统。基于Unity的无限拖拉循环列表显示方法,方法包括接口类接收外部的输入;整个拖拉列表进行初始化;从接口类添加一种item;拖拉列表的显示;初始化摄像机位置;开始刷新拖拉列表;系统包括接口类、资源管理类、摄像机层级处理类、数据类。本发明专利技术与现有技术相比,本发明专利技术支持不同的item和布局填充;本发发明专利技术通过正交摄像机以及固定的视距来使得在同一个Layer的情况下,不同的摄像机根据Z坐标的同步看到不同的显示内容;通过数据与表现的分离,来支持无限多布局拖拉列表。

Unity-based Infinite Drag Loop List Display Method and System

【技术实现步骤摘要】
基于Unity的无限拖拉循环列表显示方法和系统
本专利技术涉及终端应用显示
,尤其涉及基于Unity的无限拖拉循环列表显示方法和系统。
技术介绍
现有技术中,NGUI拖拉列表的方式总体有三类:第一类是基于UIPanel的,利于UIPanel的裁切加上拖动组件来实现,其缺点是当列表数理多的时候,拖动会大量的GC(垃圾回收),导致明显的卡顿;第二类是基于RenderTexture的,其缺点是对于半透明的UI显示失真;第三类是直接用Camera的,缺点是可能会使得整个UI会战胜很多layer,因为Unity的layer最多32,所以经常性会出现layer不够用的情况。同时以上三类拖动列表方式都没能很好的处理当用多种不同item以不同的布局填充拖拉列表的需求。
技术实现思路
本专利技术的目的是解决现有技术中拖拉列表时导致卡顿、显示失真和layer不够的问题而提供基于Unity的无限拖拉列表显示方法和系统。本专利技术的技术方案如下:基于Unity的无限拖拉循环列表显示方法,包括:接口类接收外部的输入;整个拖拉列表进行初始化;从接口类添加一种item;拖拉列表的显示;初始化摄像机位置;开始刷新拖拉列表。上述接口类接收外部的输入,包括拖拉列表长宽,依附的窗口,item名以及布局信息。上述整个拖拉列表进行初始化,包括创建摄像机,设置item根节点,设置视窗边界,资源池根节点,item资源初始化。从接口类添加一种item,包括item的资源名,item的显示回调,隐藏回调,点击回调,选中回调。如有多种不同的item布局情况下,则重复多次从接口添加item。上述拖拉列表的显示步骤中,通过接口类接收外部的输入步骤中依附的窗口,设置本拖拉列表的摄像机位置和layer,通过接口类依次输入具体需要的item类型和item数量,将该数据传入数据类,所述数据类根据输入实例化出每一行的数据信息。上述初始化摄像机位置步骤中,包括将摄像机位置传入数据类。上述开始刷新拖拉列表步骤中,包括数据类根据摄像机位置,确定哪些数据行需要显示,需要显示的数据化调用显示item的显示回调,需要隐藏的数据化调用item的隐藏回调。开始刷新拖拉列表步骤后,循环等待item是否被点击,选中,则调用相应的回调方法;循环等待摄像机是否被拖拽,是则通过摄像机的位置确定哪些数据行需要显示,需要显示的数据化调用显示item的显示回调,需要隐藏的数据化调用item的隐藏回调;窗口关闭,调用拖拉列表的销毁方法,释放所有初始化的内存空间。基于Unity的无限拖拉循环列表显示系统,包括:接口类:提供外部输入,包括item详情,依附的窗口以及摄像机坐标;资源管理类:通过接口类输入的item详情,用于存储每种item的详细信息,资源管理类对维护的字典结构进行增、删或改操作;摄像机层级处理类:通过接口类输入的摄像机信息,进行摄像机的初始化和整体拖拉列表的根节点Z坐标的赋值;数据类:通过接口类输入的摄像机坐标,判断数据item行是否是显示或是隐藏,如果显示则从资源管理类中获取相应的item数量,调用item的初始化回调、显示;如果是隐藏,将将数据类中的tranform回收到资源管理类中。本专利技术的有益效果:1.与现有技术相比,本专利技术支持不同的item和布局填充;2.本发专利技术通过正交摄像机以及固定的视距来使得在同一个Layer的情况下,不同的摄像机根据Z坐标的同步看到不同的显示内容;3.通过数据与表现的分离,来支持无限多布局拖拉列表。附图说明图1为本专利技术基于Unity的无限拖拉循环列表显示系统。具体实施方式为了更好的说明本专利技术,现结合实施例及附图作进一步的说明。基于Unity的无限拖拉循环列表显示方法,包括:S01:接口类接收外部的输入:接口类接收外部的输入,包括拖拉列表长宽,依附的窗口,item名以及布局信息;S02:整个拖拉列表进行初始化:整个拖拉列表进行初始化,包括创建摄像机,设置item根节点,设置视窗边界,资源池根节点,item资源初始化;S03:从接口类添加一种item:从接口类添加一种item,包括item的资源名,item的显示回调,隐藏回调,点击回调,选中回调;S04:拖拉列表的显示:通过接口类接收外部的输入步骤中依附的窗口,设置本拖拉列表的摄像机位置和layer,通过接口类依次输入具体需要的item类型和item数量,将该数据传入数据类,所述数据类根据输入实例化出每一行的数据信息;S05:初始化摄像机位置:包括将摄像机位置传入数据类;S06:开始刷新拖拉列表:包括数据类根据摄像机位置,确定哪些数据行需要显示,需要显示的数据化调用显示item的显示回调,需要隐藏的数据化调用item的隐藏回调。。在步骤S03中,如有多种不同的item布局情况下,则重复多次S03步骤。在步骤S06后,循环等待item是否被点击,选中,则调用相应的回调方法;循环等待摄像机是否被拖拽,是则通过摄像机的位置确定哪些数据行需要显示,需要显示的数据化调用显示item的显示回调,需要隐藏的数据化调用item的隐藏回调;窗口关闭,调用拖拉列表的销毁方法,释放所有初始化的内存空间。如图1所示,基于Unity的无限拖拉循环列表显示系统,包括:接口类:提供外部输入,包括item详情,依附的窗口以及摄像机坐标;资源管理类:通过接口类输入的item详情,用于存储每种item的详细信息,资源管理类对维护的字典结构进行增、删或改操作;摄像机层级处理类:通过接口类输入的摄像机信息,进行摄像机的初始化和整体拖拉列表的根节点Z坐标的赋值;数据类:通过接口类输入的摄像机坐标,判断数据item行是否是显示或是隐藏,如果显示则从资源管理类中获取相应的item数量,调用item的初始化回调、显示;如果是隐藏,将将数据类中的tranform回收到资源管理类中。。以上所述仅为本专利技术的较佳实施例,并不用以限制本专利技术,凡在本专利技术的精神和原则之内所作的任何修改、等同替换或改进等,均应包含在本专利技术的保护范围内。本文档来自技高网...

【技术保护点】
1.基于Unity的无限拖拉循环列表显示方法,其特征在于:所述方法包括:接口类接收外部的输入;整个拖拉列表进行初始化;从接口类添加一种item;拖拉列表的显示;初始化摄像机位置;开始刷新拖拉列表。

【技术特征摘要】
1.基于Unity的无限拖拉循环列表显示方法,其特征在于:所述方法包括:接口类接收外部的输入;整个拖拉列表进行初始化;从接口类添加一种item;拖拉列表的显示;初始化摄像机位置;开始刷新拖拉列表。2.根据权利要求1所述基于Unity的无限拖拉循环列表显示方法,其特征在于:所述接口类接收外部的输入,包括拖拉列表长宽,依附的窗口,item名以及布局信息。3.根据权利要求1所述基于Unity的无限拖拉循环列表显示方法,其特征在于:所述整个拖拉列表进行初始化,包括创建摄像机,设置item根节点,设置视窗边界,资源池根节点,item资源初始化。4.根据权利要求1所述基于Unity的无限拖拉循环列表显示方法,其特征在于:从接口类添加一种item,包括item的资源名,item的显示回调,隐藏回调,点击回调,选中回调。5.根据权利要求1所述基于Unity的无限拖拉循环列表显示方法,其特征在于:如有多种不同的item布局情况下,则重复多次从接口添加item。6.根据权利要求1或2所述基于Unity的无限拖拉循环列表显示方法,其特征在于:所述拖拉列表的显示步骤中,通过接口类接收外部的输入步骤中依附的窗口,设置本拖拉列表的摄像机位置和layer,通过接口类依次输入具体需要的item类型和item数量,将该数据传入数据类,所述数据类根据输入实例化出每一行的数据信息。7.根据权利要求1所述基于Unity的无限拖拉循环列表显示方法,其特征在...

【专利技术属性】
技术研发人员:刘剑锋庄元汪平
申请(专利权)人:深圳易帆互动科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1