一种游戏开发的资源管理方法及系统的制作方法
【专利摘要】本发明公开了一种游戏开发的资源管理方法,首先获取加载数据;建立资源链表队列L和二进制数据链表H;然后查找缓存是否存在加载数据,如果不存在,则将加载数据读入内存中并进行排队和转换处理;最好判断参数CO和参数SO是否为真,并将加载数据缓存进入内存或将数据缓存进内存或缓存进入用户磁盘。本发明在数据加载过程中,使用链表进行线性表操作会提高代码执行效率,并且在排队过程中,会根据数据的优先级进行次序调整,使紧急数据最先得到使用;在进行数据缓存时,根据不同控制参数,进行不同的缓存,将不经常用的数据将其缓存进外存,避免内存过大现象出现,提高用的体验度,同时也减少了同样的数据多次从网络进行下载的情况,减少了节省网络资源的目地。
【专利说明】一种游戏开发的资源管理方法及系统
【技术领域】
[0001]本发明涉及游戏开发领域,特别涉及一种游戏开发的资源管理方法及系统。
【背景技术】
[0002]游戏开发一直是在软件开发中一个较难的领域,而游戏与普通软件相比,游戏在资源管理模块有着极为苛刻的要求,传统的前游戏开发中,资源管理属于一个比较混乱的模块,资源的加载和缓存两大块都是独立的,并且加载和缓存都不能根据资源类型和资源需要类型进行处理,因此开发程序时需要不同的调用接口,用户体验度比较低,用户网络资源耗费比较大。
[0003]因此需要一种游戏开发的资源管理方法及系统。
【发明内容】
[0004]有鉴于此,本发明所要解决的技术问题是提供一种游戏开发的资源管理方法及系统。
[0005]本发明的目的之一是提出一种游戏开发的资源管理方法;本发明的目的之二是提出一种游戏开发的资源管理系统。
[0006]本发明的目的之一是通过以下技术方案来实现的:
[0007]本发明提供的一种游戏开发的资源管理方法,包括以下步骤:
[0008]S1:获取加载数据;
[0009]S2:建立资源链表队列L和二进制数据链表H ;
[0010]S3:查找缓存是否存在加载数据,如果存在,则进入步骤S7 ;
[0011]S4:如果不存在,则将加载数据读入内存中并进行排队和转换处理;
[0012]S5:判断参数CO是否为真,如果是,则将加载数据缓存进入内存;如果否,则不用进行将数据缓存进内存;
[0013]S6:判断参数SO是否为真,如果是,则将加载数据缓存进入用户磁盘;如果否,则不用将数据缓存进入用户磁盘;
[0014]S7:判断游戏是否需要加载数据,如果是,则根据加载数据的缓存级别将加载数据从缓存地点取出使用;如果否,则不做任何处理。
[0015]进一步,所述加载数据的排队是根据加载数据的优先级进行次序调整。
[0016]进一步,所述加载数据缓存是根据参数来进行缓存。
[0017]进一步,所述加载数据读入内存中并进行排队和转换处理是通过以下步骤来实现的:
[0018]S41:初始化一个资源链表队列L ;用加载器将资源读取进入内存;
[0019]S42:根据加载数据优先级,按照次序进行排队操作,并将资源数据进行加入资源链表队列L操作,转到步骤S44 ;
[0020]S43:当还存在资源加载请求,则返回步骤S42 ;
[0021]S44:得到已经读入内存的资源数据,将资源数据保存为二进制资源,资源链表队列L长度减1,并且将二进制资源加入二进制数据链表H ;
[0022]S45:取出二进制数据链表H表头数据,根据数据进行分类转换处理,二进制数据链表H长度加I ;
[0023]S46:当资源格式为Bitmap位图,则将二进制转换为BitmapData格式缓存,调整表头数据,二进制数据链表H长度减I ;
[0024]S47:当资源格式为XML文件,则将二进制转换为XML格式,调整表头数据,二进制数据链表H长度减I ;
[0025]S48:当资源格式为SWF文件,则不做转换处理,调整表头数据,二进制数据链表H长度减I ;
[0026]S49:若二进制数据链表H的表头不为空,继续转到步骤S45。
[0027]本发明的目的之二是通过以下技术方案来实现的:
[0028]本发明提供的一种游戏开发的资源管理系统,包括数据加载模块、参数初始化模块、缓存判断模块、内存读入模块、缓存读入模块、
[0029]所述数据加载模块,用于获取加载数据;
[0030]所述参数初始化模块,用于建立资源链表队列L和二进制数据链表H ;
[0031]所述缓存判断模块,用于查找缓存是否存在加载数据;
[0032]所述存入选择模块,用于将加载数据读入内存中并进行排队和转换处理或缓存进内存。
[0033]进一步,所述存入选择模块是按以下情况来实现的:
[0034]判断参数SO是否为TRUE,如果是,则将加载数据缓存进入用户磁盘;如果否,则不用将数据缓存进入用户磁盘;
[0035]判断参数CO是否为真TRUE,如果是,则将加载数据缓存进入内存;如果否,则不用进行将数据缓存进内存;
[0036]判断游戏是否需要加载数据,如果是,则根据加载数据的缓存级别将加载数据从缓存地点取出使用;如果否,则不做任何处理。
[0037]进一步,所述加载数据的排队是根据加载数据的优先级进行次序调整。
[0038]进一步,所述加载数据缓存是根据参数来进行缓存。
[0039]进一步,所述加载数据读入内存中并进行排队和转换处理是通过以下步骤来实现的:
[0040]S41:初始化一个资源链表队列L ;用加载器将资源读取进入内存;
[0041]S42:根据加载数据优先级,按照次序进行排队操作,并将资源数据进行加入资源链表队列L操作,转到步骤S44 ;
[0042]S43:当还存在资源加载请求,则返回步骤S42 ;
[0043]S44:得到已经读入内存的资源数据,将资源数据保存为二进制资源,资源链表队列L长度减1,并且将二进制资源加入二进制数据链表H ;
[0044]S45:取出二进制数据链表H表头数据,根据数据进行分类转换处理,二进制数据链表H长度加I ;
[0045]S46:当资源格式为Bitmap位图,则将二进制转换为BitmapData格式缓存,调整表头数据,二进制数据链表H长度减I ;
[0046]S47:当资源格式为XML文件,则将二进制转换为XML格式,调整表头数据,二进制数据链表H长度减I ;
[0047]S48:当资源格式为SWF文件,则不做转换处理,调整表头数据,二进制数据链表H长度减I ;
[0048]S49:若二进制数据链表H的表头不为空,继续转到步骤S45。
[0049]本发明的有益效果在于:本发明在数据加载过程中,使用链表进行线性表操作会提高代码执行效率,并且在排队过程中,会根据数据的优先级进行次序调整,使紧急数据最先得到使用;避免了在进行排队操作时使得数据操作出现混乱情况;在进行数据缓存时,根据不同控制参数,进行不同的缓存,将不经常用的数据将其缓存进外存,避免内存过大现象出现,提高用的体验度,同时也减少了同样的数据多次从网络进行下载的情况,减少了节省网络资源的目地;给游戏开发领域提供了一个高效,灵活的方法去管理资源。将资源加载和缓存两大块结合起来,并且加载和缓存都能根据不同类型资源和不同资源需要做智能处理,达到了为程序员提供了方便开发的接口,为用户提高用户体验度,节省用户网络资源的目地。
【专利附图】
【附图说明】
[0050]为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:
[0051]图1为本发明实施例提供的游戏开发的资源管理方法流程图;
[0052]图2为本发明实施例提供的游戏开发的资源管理系统示意图。
【具体实施方式】
[0053]以下将参照附图,对本发明的优选实施例进行详细的描述。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
[0054]图1为本发明实施例提供的游戏开发的资源管理方法流程图,如图所示:本发明提供的一种游戏开发的资源管理方法,包括以下步骤:
[0055]S1:获取加载数据;
[0056]S2:建立资源链表队列L和二进制数据链表H ;
[0057]S3:查找缓存是否存在加载数据,如果存在,则进入步骤S7 ;
[0058]S4:如果不存在,则将加载数据读入内存中并进行排队和转换处理;
[0059]S5:判断参数CO是否为真,如果是,则将加载数据缓存进入内存;如果否,则不用进行将数据缓存进内存;
[0060]S6:判断参数SO是否为真,如果是,则将加载数据缓存进入用户磁盘;如果否,则不用将数据缓存进入用户磁盘;
[0061]S7:判断游戏是否需要加载数据,如果是,则根据加载数据的缓存级别将加载数据从缓存地点取出使用;如果否,则不做任何处理。
[0062]所述加载数据的排队是根据加载数据的优先级进行次序调整。
[0063]所述加载数据缓存是根据参数来进行缓存。
[0064]所述加载数据读入内存中并进行排队和转换处理是通过以下步骤来实现的:
[0065]S41:初始化一个资源链表队列L ;用加载器将资源读取进入内存;
[0066]S42:根据加载数据优先级,按照次序进行排队操作,并将资源数据进行加入资源链表队列L操作,转到步骤S44 ;
[0067]S43:当还存在资源加载请求,则返回步骤S42 ;
[0068]S44:得到已经读入内存的资源数据,将资源数据保存为二进制资源,资源链表队列L长度减1,并且将二进制资源加入二进制数据链表H ;
[0069]S45:取出二进制数据链表H表头数据,根据数据进行分类转换处理,二进制数据链表H长度加I ;
[0070]S46:当资源格式为Bitmap位图,则将二进制转换为BitmapData格式缓存,调整表头数据,二进制数据链表H长度减I ;
[0071]S47:当资源格式为XML文件,则将二进制转换为XML格式,调整表头数据,二进制数据链表H长度减I ;
[0072]S48:当资源格式为SWF文件,则不做转换处理,调整表头数据,二进制数据链表H长度减I ;
[0073]S49:若二进制数据链表H的表头不为空,继续转到步骤S45。
[0074]图2为本发明实施例提供的游戏开发的资源管理系统示意图,如图所示,本实施例还提供了一种游戏开发的资源管理系统,包括数据加载模块、参数初始化模块、缓存判断模块、内存读入模块、缓存读入模块、
[0075]所述数据加载模块,用于获取加载数据;
[0076]所述参数初始化模块,用于建立资源链表队列L和二进制数据链表H ;
[0077]所述缓存判断模块,用于查找缓存是否存在加载数据;
[0078]所述存入选择模块,用于将加载数据读入内存中并进行排队和转换处理或缓存进内存。
[0079]所述存入选择模块是按以下情况来实现的:
[0080]判断参数SO是否为TRUE,如果是,则将加载数据缓存进入用户磁盘;如果否,则不用将数据缓存进入用户磁盘;
[0081]判断参数CO是否为真TRUE,如果是,则将加载数据缓存进入内存;如果否,则不用进行将数据缓存进内存;
[0082]判断游戏是否需要加载数据,如果是,则根据加载数据的缓存级别将加载数据从缓存地点取出使用;如果否,则不做任何处理。
[0083]所述加载数据的排队是根据加载数据的优先级进行次序调整。
[0084]所述加载数据缓存是根据参数来进行缓存。
[0085]所述加载数据读入内存中并进行排队和转换处理是通过以下步骤来实现的:
[0086]S41:初始化一个资源链表队列L ;用加载器将资源读取进入内存;
[0087]S42:根据加载数据优先级,按照次序进行排队操作,并将资源数据进行加入资源链表队列L操作,转到步骤S44 ;
[0088]S43:当还存在资源加载请求,则返回步骤S42 ;
[0089]S44:得到已经读入内存的资源数据,将资源数据保存为二进制资源,资源链表队列L长度减1,并且将二进制资源加入二进制数据链表H ;
[0090]S45:取出二进制数据链表H表头数据,根据数据进行分类转换处理,二进制数据链表H长度加I ;
[0091]S46:当资源格式为Bitmap位图,则将二进制转换为BitmapData格式缓存,调整表头数据,二进制数据链表H长度减I ;
[0092]S47:当资源格式为XML文件,则将二进制转换为XML格式,调整表头数据,二进制数据链表H长度减I ;
[0093]S48:当资源格式为SWF文件,则不做转换处理,调整表头数据,二进制数据链表H长度减I ;
[0094]S49:若二进制数据链表H的表头不为空,继续转到步骤S45。
[0095]最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管通过参照本发明的优选实施例已经对本发明进行了描述,但本领域的普通技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。
【权利要求】
1.一种游戏开发的资源管理方法,其特征在于:包括以下步骤: S1:获取加载数据; 52:建立资源链表队列L和二进制数据链表H ; 53:查找缓存是否存在加载数据,如果存在,则进入步骤S7 ; 54:如果不存在,则将加载数据读入内存中并进行排队和转换处理; 55:判断参数CO是否为真,如果是,则将加载数据缓存进入内存;如果否,则不用进行将数据缓存进内存; 56:判断参数SO是否为真,如果是,则将加载数据缓存进入用户磁盘;如果否,则不用将数据缓存进入用户磁盘; 57:判断游戏是否需要加载数据,如果是,则根据加载数据的缓存级别将加载数据从缓存地点取出使用;如果否,则不做任何处理。
2.根据权利要求1所述的游戏开发的资源管理方法,其特征在于:所述加载数据的排队是根据加载数据的优先级进行次序调整。
3.根据权利要求1所述的游戏开发的资源管理方法,其特征在于:所述加载数据缓存是根据参数来进行缓存。
4.根据权利要求1所述的游戏开发的资源管理方法,其特征在于:所述加载数据读入内存中并进行排队和转换处理是通过以下步骤来实现的: 541:初始化一个资源链表队列L ;用加载器将资源读取进入内存; 542:根据加载数据优先级,按照次序进行排队操作,并将资源数据进行加入资源链表队列L操作,转到步骤S44; 543:当还存在资源加载请求,则返回步骤S42 ; 544:得到已经读入内存的资源数据,将资源数据保存为二进制资源,资源链表队列L长度减1,并且将二进制资源加入二进制数据链表H ; 545:取出二进制数据链表H表头数据,根据数据进行分类转换处理,二进制数据链表H长度加I ; 546:当资源格式为Bitmap位图,则将二进制转换为BitmapData格式缓存,调整表头数据,二进制数据链表H长度减I ; 547:当资源格式为XML文件,则将二进制转换为XML格式,调整表头数据,二进制数据链表H长度减I ; 548:当资源格式为SWF文件,则不做转换处理,调整表头数据,二进制数据链表H长度减I ; 549:若二进制数据链表H的表头不为空,继续转到步骤S45。
5.一种游戏开发的资源管理系统,其特征在于:包括数据加载模块、参数初始化模块、缓存判断模块、内存读入模块、缓存读入模块、 所述数据加载模块,用于获取加载数据; 所述参数初始化模块,用于建立资源链表队列L和二进制数据链表H ; 所述缓存判断模块,用于查找缓存是否存在加载数据; 所述存入选择模块,用于将加载数据读入内存中并进行排队和转换处理或缓存进内存。
6.根据权利要求1所述的游戏开发的资源管理系统,其特征在于:所述存入选择模块是按以下情况来实现的: 判断参数SO是否为TRUE,如果是,则将加载数据缓存进入用户磁盘;如果否,则不用将数据缓存进入用户磁盘; 判断参数CO是否为真TRUE,如果是,则将加载数据缓存进入内存;如果否,则不用进行将数据缓存进内存; 判断游戏是否需要加载数据,如果是,则根据加载数据的缓存级别将加载数据从缓存地点取出使用;如果否,则不做任何处理。
7.根据权利要求1所述的游戏开发的资源管理系统,其特征在于:所述加载数据的排队是根据加载数据的优先级进行次序调整。
8.根据权利要求1所述的游戏开发的资源管理系统,其特征在于:所述加载数据缓存是根据参数来进行缓存。
9.根据权利要求1所述的游戏开发的资源管理系统,其特征在于:所述加载数据读入内存中并进行排队和转换处理是通过以下步骤来实现的: 541:初始化一个资源链表队列L ;用加载器将资源读取进入内存; 542:根据加载数据优先级,按照次序进行排队操作,并将资源数据进行加入资源链表队列L操作,转到步骤S44; 543:当还存在资源加载请求,则返回步骤S42 ; 544:得到已经读入内存的资源数据,将资源数据保存为二进制资源,资源链表队列L长度减1,并且将二进制资源加入二进制数据链表H ; 545:取出二进制数据链表H表头数据,根据数据进行分类转换处理,二进制数据链表H长度加I ; 546:当资源格式为Bitmap位图,则将二进制转换为BitmapData格式缓存,调整表头数据,二进制数据链表H长度减I ; 547:当资源格式为XML文件,则将二进制转换为XML格式,调整表头数据,二进制数据链表H长度减I ; 548:当资源格式为SWF文件,则不做转换处理,调整表头数据,二进制数据链表H长度减I ; 549:若二进制数据链表H的表头不为空,继续转到步骤S45。
【文档编号】G06F9/50GK104298562SQ201410531293
【公开日】2015年1月21日 申请日期:2014年10月10日 优先权日:2014年10月10日
【发明者】熊仕勇, 潘豪, 周敏, 林金朝, 田航, 张喜平, 刘雪艳, 程迪祥, 唐浩, 李沁翰, 刘秋恋, 谭世雨 申请人:重庆邮电大学