基于Unity3D的游戏资源离散加载方法及系统与流程

文档序号:11582281阅读:172来源:国知局
基于Unity3D的游戏资源离散加载方法及系统与流程

本发明涉及游戏开发技术领域,尤其涉及基于unity3d的游戏资源离散加载方法及系统。



背景技术:

随着媒体互联网的迅速发展,数字互动娱乐延伸到新的领域,网络游戏是近年来得到广泛关注并且发展极为迅速的一个产业,如今我国网络游戏业的巨大市场使得游戏从业人员不断发展软件技术以提升玩家的游戏体验。

现有的游戏客户端通常包括游戏运行时所需的所有游戏资源,例如,图片、音频和视频等资源。而对于一个在线游戏,其运行所需的游戏资源的数量非常庞大,导致现有的游戏客户端整体容量比较庞大,增加了游戏客户端分发部署的难度,导致游戏资源不易管理,且易造成重复加载。

因此,现有技术中的缺陷是,游戏运行时,所需要的游戏资源数量过于庞大,导致游戏资源不易管理,且易造成重复加载。



技术实现要素:

针对上述技术问题,本发明提供一种基于unity3d的游戏资源离散加载方法及系统,采用了将游戏资源分成多个预制件,为每个预制件对应设置版本号及下载地址,生成assetbundle资源包,通过所需游戏资源对应的版本号查找对应的assetbundle资源包,即可实现游戏资源的实时加载,使游戏资源便于管理,由于版本号是唯一的,因此不会出现重复加载的现象。

为解决上述技术问题,本发明提供的技术方案是:

第一方面,本发明提供一种基于unity3d的游戏资源离散加载方法,包括:

步骤s1,创建微端引擎,所述微端引擎包括微端客户端和微端服务器;所述微端客户端和所述微端服务器通过网络连接,所述微端服务器中存储游戏资源,且所述微端服务器定时对所述游戏资源进行更新操作;

步骤s2,对所述游戏资源进行处理,得到多个预制件,每个预制件对应生成一个版本号,并为每个版本号对应设置一个下载地址;

步骤s3,将所述多个预制件生成一个assetbundle资源包,所述asset-bundle资源包存储在本地或服务器中;

步骤s4,获得初始游戏资源的请求消息,进行游戏进程启动;

步骤s5,在所述游戏进程启动成功后,所述游戏进程根据当前时刻的游戏场景,推算出距离当前时刻一定时间间隔内所需的游戏资源,向所述微端客户端发送预下载所述所需的游戏资源的请求消息;

步骤s6,根据所述微端客户端接收到的所述请求消息,得到所述所需的游戏资源对应的版本号及对应的下载地址;

步骤s7,根据所述版本号及下载地址在所述assetbundle资源包中查找游戏资源,查找得到的游戏资源为所述所需的游戏资源,完成对所需的游戏资源进行加载的过程。

本发明提供的基于unity3d的游戏资源离散加载方法,其技术方案为:创建微端引擎,所述微端引擎包括微端客户端和微端服务器;所述微端客户端和所述微端服务器通过网络连接,所述微端服务器中存储游戏资源,且所述微端服务器定时对所述游戏资源进行更新操作;

对所述游戏资源进行处理,得到多个预制件,每个预制件对应生成一个版本号,并为每个版本号对应设置一个下载地址;将所述多个预制件生成一个assetbundle资源包,所述assetbundle资源包存储在本地或服务器中;获得初始游戏资源的请求消息,进行游戏进程启动;

在所述游戏进程启动成功后,所述游戏进程根据当前时刻的游戏场景,推算出距离当前时刻一定时间间隔内所需的游戏资源,向所述微端客户端发送预下载所述所需的游戏资源的请求消息;根据所述微端客户端接收到的所述请求消息,得到所述所需的游戏资源对应的版本号及对应的下载地址;根据所述版本号及下载地址在所述assetbundle资源包中查找游戏资源,查找得到的游戏资源为所述所需的游戏资源,完成对所需的游戏资源进行加载的过程。

本发明提供的基于unity3d的游戏资源离散加载方法,采用了将游戏资源分成多个预制件,为每个预制件对应设置版本号及下载地址,生成assetbundle资源包,通过所需游戏资源对应的版本号查找对应的assetbundle资源包,即可实现游戏资源的实时加载,使游戏资源便于管理,由于版本号是唯一的,因此不会出现重复加载的现象。

进一步地,所述步骤s2中,对所述游戏资源进行处理,具体为:

对所述游戏资源进行类别判断,将相同类别的游戏资源存入到同一个预制件中,将不同类别的游戏资源存入到不同的预制件中。

将相同类别的游戏资源存入到一个预制件中,不同类别的游戏资源存入到不同的预制件中,可将游戏资源进行合理的分配,在加载过程中,提高加载速度,且相同类别的游戏资源存入到一个预制件中,可节约存储空间。

进一步地,所述步骤s7中,根据所述版本号及下载地址在所述assetbundle资源包中查找游戏资源,具体为:

在所述本地存储的assetbundle资源包中查找所述版本号对应的预制件,如果存在,则直接返回所述预制件对应的游戏资源,进行加载;

如果不存在,根据所述版本号重新从所述服务器存储的assetbundle资源包中查找所述版本号对应的预制件;

根据所述版本号对应的下载地址,对所述预制件进行下载,实现对所述预制件对应游戏资源的加载。

如果assetbundle资源包存在本地,可直接根据版本号进行查找调用,实现加载,如果assetbundle资源包存在服务器中,找到对应的游戏资源后,先要根据下载地址将找到的游戏资源下载到本地,再实现加载。根据assetbundle资源包存储的地方不同,进行不同的处理,使该方法的兼容性更好。

进一步地,所述步骤s1中,还包括对显示在所述微端引擎页面中的游戏资源进行处理:

获取用户改变游戏资源存储位置的请求,所述用户改变游戏资源存储位置的请求包括添加新的游戏资源的请求和整理游戏资源请求;

根据所述用户改变游戏资源存储位置的请求,获得预先保存的操作区域设置信息,所述操作区域设置信息用于标识所述操作区域属于可操作区域或者禁止操作区域;

根据所述操作区域设置信息,在可操作区域中响应所述用户的请求改变游戏资源的存储位置。

通过对游戏资源的进一步处理,游戏资源显示在微端引擎页面,用户可进行操作处理的,通过上述处理,可以由用户自行设置可操作区域和/或禁止操作区域,使得禁止操作区域内的游戏资源不受特定改变游戏资源存储位置请求的影响,因此,无需用户反复对存储空间中的资源物品进行整理或者排序,减少了用户的繁琐操作,从而显著地降低了客户端与服务器的交互,并且减少了服务器的负载,提高了服务器性能,为用户带来了更好的体验。

进一步地,当所述用户改变游戏资源存储位置的请求为添加新的游戏资源的请求时,所述根据所述操作区域设置信息,在可操作区域中响应所述用户的请求改变游戏资源的存储位置,具体为:

根据所述操作区域设置信息,获得可操作区域的坐标范围;

在所述坐标范围内检索空闲存储区域,将所述新的游戏资源存储在所述空闲存储区域内,建立所述新的游戏资源与所述空闲存储区域的对应关系。

根据用户的不同请求,对应进行不同的处理,满足不同用户的需求。

进一步地,当所述用户改变游戏资源存储位置的请求为整理游戏资源请求时,所述根据所述操作区域设置信息,在可操作区域中响应所述用户的请求改变游戏资源的存储位置,具体为:

根据所述操作区域设置信息,获得可操作区域的坐标范围;

对所述可操作区域的坐标范围内的游戏资源进行位置调整,将调整后的游戏资源存储在所述可操作区域中的对应存储位置,并建立调整后的游戏资源与其对应的存储位置的对应关系。

根据用户的不同请求,对应进行不同的处理,满足不同用户的需求。

第二方面,本发明提供了一种基于unity3d的游戏资源离散加载系统,包括:

微端引擎创建模块,用于创建微端引擎,所述微端引擎包括微端客户端和微端服务器;所述微端客户端和所述微端服务器通过网络连接,所述微端服务器中存储游戏资源,且所述微端服务器定时对所述游戏资源进行更新操作;

游戏资源处理模块,用于对所述游戏资源进行处理,得到多个预制件,每个预制件对应生成一个版本号,并为每个版本号对应设置一个下载地址;

assetbundle生成模块,用于将所述多个预制件生成一个assetbundle资源包,所述assetbundle资源包存储在本地或服务器中;

游戏进程启动模块,用于获得初始游戏资源的请求消息,进行游戏进程启动;

所需的游戏资源获取模块,用于在所述游戏进程启动成功后,所述游戏进程根据当前时刻的游戏场景,推算出距离当前时刻一定时间间隔内所需的游戏资源,向所述微端客户端发送预下载所述所需的游戏资源的请求消息;

版本号及下载地址获取模块,用于根据所述微端客户端接收到的所述请求消息,得到所述所需的游戏资源对应的版本号及对应的下载地址;

游戏资源加载模块,用于根据所述版本号及下载地址在所述assetbundle资源包中查找游戏资源,查找得到的游戏资源为所述所需的游戏资源,完成对所需的游戏资源进行加载的过程。

本发明提供的基于unity3d的游戏资源离散加载系统,其技术方案为:微端引擎创建模块,用于创建微端引擎,所述微端引擎包括微端客户端和微端服务器;所述微端客户端和所述微端服务器通过网络连接,所述微端服务器中存储游戏资源,且所述微端服务器定时对所述游戏资源进行更新操作;

游戏资源处理模块,用于对所述游戏资源进行处理,得到多个预制件,每个预制件对应生成一个版本号,并为每个版本号对应设置一个下载地址;

assetbundle生成模块,用于将所述多个预制件生成一个assetbundle资源包,所述assetbundle资源包存储在本地或服务器中;游戏进程启动模块,用于获得初始游戏资源的请求消息,进行游戏进程启动;所需的游戏资源获取模块,用于在所述游戏进程启动成功后,所述游戏进程根据当前时刻的游戏场景,推算出距离当前时刻一定时间间隔内所需的游戏资源,向所述微端客户端发送预下载所述所需的游戏资源的请求消息;

版本号及下载地址获取模块,用于根据所述微端客户端接收到的所述请求消息,得到所述所需的游戏资源对应的版本号及对应的下载地址;游戏资源加载模块,用于根据所述版本号及下载地址在所述assetbundle资源包中查找游戏资源,查找得到的游戏资源为所述所需的游戏资源,完成对所需的游戏资源进行加载的过程。

本发明提供的基于unity3d的游戏资源离散加载系统,采用了将游戏资源分成多个预制件,为每个预制件对应设置版本号及下载地址,生成assetbundle资源包,通过所需游戏资源对应的版本号查找对应的assetbundle资源包,即可实现游戏资源的实时加载,使游戏资源便于管理,由于版本号是唯一的,因此不会出现重复加载的现象。

进一步地,所述游戏资源处理模块,用于对所述游戏资源进行处理:

对所述游戏资源进行类别判断,将相同类别的游戏资源存入到同一个预制件中,将不同类别的游戏资源存入到不同的预制件中。

将相同类别的游戏资源存入到一个预制件中,不同类别的游戏资源存入到不同的预制件中,可将游戏资源进行合理的分配,在加载过程中,提高加载速度,且相同类别的游戏资源存入到一个预制件中,可节约存储空间。

进一步地,所述游戏资源加载模块,用于根据所述版本号及下载地址在所述assetbundle资源包中查找游戏资源:

在所述本地存储的assetbundle资源包中查找所述版本号对应的预制件,如果存在,则直接返回所述预制件对应的游戏资源,进行加载;

如果不存在,根据所述版本号重新从所述服务器存储的assetbundle资源包中查找所述版本号对应的预制件;

根据所述版本号对应的下载地址,对所述预制件进行下载,实现对所述预制件对应游戏资源的加载。

在所述本地存储的assetbundle资源包中查找所述版本号对应的预制件,如果存在,则直接返回所述预制件对应的游戏资源,进行加载;

如果不存在,根据所述版本号重新从所述服务器存储的assetbundle资源包中查找所述版本号对应的预制件;

根据所述版本号对应的下载地址,对所述预制件进行下载,实现对所述预制件对应游戏资源的加载。

如果assetbundle资源包存在本地,可直接根据版本号进行查找调用,实现加载,如果assetbundle资源包存在服务器中,找到对应的游戏资源后,先要根据下载地址将找到的游戏资源下载到本地,再实现加载。根据assetbundle资源包存储的地方不同,进行不同的处理,使该方法的兼容性更好。

进一步地,所述微端引擎创建模块,用于对显示在所述微端引擎页面中的游戏资源进行处理:

获取用户改变游戏资源存储位置的请求,所述用户改变游戏资源存储位置的请求包括添加新的游戏资源的请求和整理游戏资源请求;

根据所述用户改变游戏资源存储位置的请求,获得预先保存的操作区域设置信息,所述操作区域设置信息用于标识所述操作区域属于可操作区域或者禁止操作区域;

根据所述操作区域设置信息,在可操作区域中响应所述用户的请求改变游戏资源的存储位置。

通过对游戏资源的进一步处理,游戏资源显示在微端引擎页面,用户可进行操作处理的,通过上述处理,可以由用户自行设置可操作区域和/或禁止操作区域,使得禁止操作区域内的游戏资源不受特定改变游戏资源存储位置请求的影响,因此,无需用户反复对存储空间中的资源物品进行整理或者排序,减少了用户的繁琐操作,从而显著地降低了客户端与服务器的交互,并且减少了服务器的负载,提高了服务器性能,为用户带来了更好的体验。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。

图1示出了本发明实施例所提供的一种基于unity3d的游戏资源离散加载方法的流程图;

图2示出了本发明实施例所提供的一种基于unity3d的游戏资源离散加载系统的示意图;

图3示出了本发明本发明实施例所提供的一种基于unity3d的游戏资源离散加载方法及系统中的应用场景示意图;

图4示出了本发明实施例所提供的一种基于unity3d的游戏资源离散加载方法及系统中现有技术游戏资源处理方法效果示意图;

图5示出了本发明实施例所提供的一种基于unity3d的游戏资源离散加载方法及系统中的微端引擎页面中的游戏资源处理效果示意图。

具体实施方式

下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只是作为示例,而不能以此来限制本发明的保护范围。

实施例一

第一方面,图1示出了本发明实施例所提供的一种基于unity3d的游戏资源离散加载方法的流程图;如图1所示,实施例一提供了一种基于unity3d的游戏资源离散加载方法,包括:

步骤s1,创建微端引擎,微端引擎包括微端客户端和微端服务器;微端客户端和微端服务器通过网络连接,微端服务器中存储游戏资源,且微端服务器定时对游戏资源进行更新操作;

其中,游戏资源中包括游戏模型资源和ui资源。

其中,微端引擎为unity3d游戏引擎。

步骤s2,对游戏资源进行处理,得到多个预制件,每个预制件对应生成一个版本号,并为每个版本号对应设置一个下载地址;

步骤s3,将多个预制件生成一个assetbundle资源包,assetbundle资源包存储在本地或服务器中;

步骤s4,获得初始游戏资源的请求消息,进行游戏进程启动;

步骤s5,在游戏进程启动成功后,游戏进程根据当前时刻的游戏场景,推算出距离当前时刻一定时间间隔内所需的游戏资源,向微端客户端发送预下载所需的游戏资源的请求消息;

步骤s6,根据微端客户端接收到的请求消息,得到所需的游戏资源对应的版本号及对应的下载地址;

步骤s7,根据版本号及下载地址在assetbundle资源包中查找游戏资源,查找得到的游戏资源为所需的游戏资源,完成对所需的游戏资源进行加载的过程。

本发明提供的基于unity3d的游戏资源离散加载方法,其技术方案为:创建微端引擎,微端引擎包括微端客户端和微端服务器;微端客户端和微端服务器通过网络连接,微端服务器中存储游戏资源,且微端服务器定时对游戏资源进行更新操作;

对游戏资源进行处理,得到多个预制件,每个预制件对应生成一个版本号,并为每个版本号对应设置一个下载地址;将多个预制件生成一个assetbundle资源包,assetbundle资源包存储在本地或服务器中;获得初始游戏资源的请求消息,进行游戏进程启动;

在游戏进程启动成功后,游戏进程根据当前时刻的游戏场景,推算出距离当前时刻一定时间间隔内所需的游戏资源,向微端客户端发送预下载所需的游戏资源的请求消息;根据微端客户端接收到的请求消息,得到所需的游戏资源对应的版本号及对应的下载地址;根据版本号及下载地址在assetbundle资源包中查找游戏资源,查找得到的游戏资源为所需的游戏资源,完成对所需的游戏资源进行加载的过程。

本发明提供的基于unity3d的游戏资源离散加载方法,采用了将游戏资源分成多个预制件,为每个预制件对应设置版本号及下载地址,生成assetbundle资源包,通过所需游戏资源对应的版本号查找对应的assetbundle资源包,即可实现游戏资源的实时加载,使游戏资源便于管理,由于版本号是唯一的,因此不会出现重复加载的现象。

具体地,步骤s2中,对游戏资源进行处理,具体为:

对游戏资源进行类别判断,将相同类别的游戏资源存入到同一个预制件中,将不同类别的游戏资源存入到不同的预制件中。

将相同类别的游戏资源存入到一个预制件中,不同类别的游戏资源存入到不同的预制件中,可将游戏资源进行合理的分配,在加载过程中,提高加载速度,且相同类别的游戏资源存入到一个预制件中,可节约存储空间。

具体地,步骤s7中,根据版本号及下载地址在assetbundle资源包中查找游戏资源,具体为:

在本地存储的assetbundle资源包中查找版本号对应的预制件,如果存在,则直接返回预制件对应的游戏资源,进行加载;

如果不存在,根据版本号重新从服务器存储的assetbundle资源包中查找版本号对应的预制件;

根据版本号对应的下载地址,对预制件进行下载,实现对预制件对应游戏资源的加载。

如果assetbundle资源包存在本地,可直接根据版本号进行查找调用,实现加载,如果assetbundle资源包存在服务器中,找到对应的游戏资源后,先要根据下载地址将找到的游戏资源下载到本地,再实现加载。根据assetbundle资源包存储的地方不同,进行不同的处理,使该方法的兼容性更好。

优选地,在assetbundle资源包中,还存储游戏资源版本号和最新的校验码的对应关系,微端服务器通过以下方式计算得到并维护校验码:

初始时,微端服务器查找游戏资源,得到与游戏资源版本号对应的游戏资源;

微端服务器计算所得到的游戏资源的校验码;

微端服务器存储游戏资源版本号和校验码的对应关系;

每当游戏资源所存储的游戏资源进行更新时,微端服务器重新计算该游戏资源的校验码,得到最新的校验码,并更新assetbundle资源包,使游戏资源所存储的校验码均为最新的校验码;

本发明中,assetbundle资源包的主要作用为:保证微端客户端从微端服务器所下载得到的游戏资源的完整性,以及,如果微端客户端的缓存中存在所需的游戏资源,能够基于assetbundle资源包中的校验码,而验证缓存中存在的游戏资源是否为最新的文件。

因此,每当游戏资源所存储的某个游戏资源进行更新时,微端服务器即更新包含更新资源版本号的assetbundle资源包中的对应的校验码,例如,以校验码为md5码为例,对于游戏资源中的某个游戏画面资源a,原游戏画面资源a的内容包括2015.02.11的日期信息;则:微端服务器使用openssh开源库计算得到原游戏画面资源a的md5值为100;则:原assetbundle资源包存储游戏画面资源a与100的对应关系;当游戏资源中的原游戏画面资源a的日期由2015.02.11更新为2015.02.13时,微端服务器使用openssh开源库重新计算得到新的md5值,设为200;则:微端服务器需要将assetbundle资源包更新为:游戏画面资源a与200的对应关系;通过此种方式,可基于md5值,实现对游戏资源的校验。

第二方面,参见图2,本实施例提供了一种基于unity3d的游戏资源离散加载系统10,包括:

微端引擎创建模块101,用于创建微端引擎,微端引擎包括微端客户端和微端服务器;微端客户端和微端服务器通过网络连接,微端服务器中存储游戏资源,且微端服务器定时对游戏资源进行更新操作;

游戏资源处理模块102,用于对游戏资源进行处理,得到多个预制件,每个预制件对应生成一个版本号,并为每个版本号对应设置一个下载地址;

assetbundle生成模块103,用于将多个预制件生成一个assetbundle资源包,assetbundle资源包存储在本地或服务器中;

游戏进程启动模块104,用于获得初始游戏资源的请求消息,进行游戏进程启动;

所需的游戏资源获取模块105,用于在游戏进程启动成功后,游戏进程根据当前时刻的游戏场景,推算出距离当前时刻一定时间间隔内所需的游戏资源,向微端客户端发送预下载所需的游戏资源的请求消息;

版本号及下载地址获取模块106,用于根据微端客户端接收到的请求消息,得到所需的游戏资源对应的版本号及对应的下载地址;

游戏资源加载模块107,用于根据版本号及下载地址在assetbundle资源包中查找游戏资源,查找得到的游戏资源为所需的游戏资源,完成对所需的游戏资源进行加载的过程。

本发明提供的基于unity3d的游戏资源离散加载系统10,其技术方案为:通过微端引擎创建模块101,创建微端引擎,微端引擎包括微端客户端和微端服务器;微端客户端和微端服务器通过网络连接,微端服务器中存储游戏资源,且微端服务器定时对游戏资源进行更新操作;

通过游戏资源处理模块102,对游戏资源进行处理,得到多个预制件,每个预制件对应生成一个版本号,并为每个版本号对应设置一个下载地址;

通过assetbundle生成模块103,将多个预制件生成一个assetbundle资源包,assetbundle资源包存储在本地或服务器中;通过游戏进程启动模块104,获得初始游戏资源的请求消息,进行游戏进程启动;通过所需的游戏资源获取模块105,用于在游戏进程启动成功后,游戏进程根据当前时刻的游戏场景,推算出距离当前时刻一定时间间隔内所需的游戏资源,向微端客户端发送预下载所需的游戏资源的请求消息;

通过版本号及下载地址获取模块106,根据微端客户端接收到的请求消息,得到所需的游戏资源对应的版本号及对应的下载地址;通过游戏资源加载模块107,根据版本号及下载地址在assetbundle资源包中查找游戏资源,查找得到的游戏资源为所需的游戏资源,完成对所需的游戏资源进行加载的过程。

本发明提供的基于unity3d的游戏资源离散加载系统10,采用了将游戏资源分成多个预制件,为每个预制件对应设置版本号及下载地址,生成assetbundle资源包,通过所需游戏资源对应的版本号查找对应的assetbundle资源包,即可实现游戏资源的实时加载,使游戏资源便于管理,由于版本号是唯一的,因此不会出现重复加载的现象。

具体地,游戏资源处理模块102,用于对游戏资源进行处理:

对游戏资源进行类别判断,将相同类别的游戏资源存入到同一个预制件中,将不同类别的游戏资源存入到不同的预制件中。

将相同类别的游戏资源存入到一个预制件中,不同类别的游戏资源存入到不同的预制件中,可将游戏资源进行合理的分配,在加载过程中,提高加载速度,且相同类别的游戏资源存入到一个预制件中,可节约存储空间。

具体地,游戏资源加载模块107,用于根据版本号及下载地址在asset-bundle资源包中查找游戏资源:

在本地存储的assetbundle资源包中查找版本号对应的预制件,如果存在,则直接返回预制件对应的游戏资源,进行加载;

如果不存在,根据版本号重新从服务器存储的assetbundle资源包中查找版本号对应的预制件;

根据版本号对应的下载地址,对预制件进行下载,实现对预制件对应游戏资源的加载。

在本地存储的assetbundle资源包中查找版本号对应的预制件,如果存在,则直接返回预制件对应的游戏资源,进行加载;

如果不存在,根据版本号重新从服务器存储的assetbundle资源包中查找版本号对应的预制件;

根据版本号对应的下载地址,对预制件进行下载,实现对预制件对应游戏资源的加载。

如果assetbundle资源包存在本地,可直接根据版本号进行查找调用,实现加载,如果assetbundle资源包存在服务器中,找到对应的游戏资源后,先要根据下载地址将找到的游戏资源下载到本地,再实现加载。根据assetbundle资源包存储的地方不同,进行不同的处理,使该方法的兼容性更好。

实施例二

游戏资源包括游戏模型资源和ui资源,对应的微端引擎页面中的游戏资源通常由游戏玩家进行控制,在实际应用中,玩家往往会按照自己的操作习惯摆放存储空间中的资源物品,当获得新道具或者发起整理存储空间的请求时,现有技术中系统自定义的摆放或者排序方法往往会影响或者改变玩家业已存在的资源物品摆放顺序,造成玩家操作和道具使用上的不便。玩家在资源物品的摆放顺序被改变后,需要重新对存储空间中的资源物品进行整理或者排序,当玩家拥有的资源物品较多时,上述操作是非常繁琐的过程,服务器也需要频繁响应玩家的请求,造成服务器的负载加重。

基于此,本发明对微端引擎页面中的游戏资源进行了处理上的改进,具体方案如下:

首先,本发明提供的方法主要应用在客户端设备中,即微端客户端,客户端设备可以应用到电子设备中,电子设备可以是现有的、正在研发的或将来研发的任何电子设备,包括但不限于:现有的、正在研发的或将来研发的、台式计算机、膝上型计算机、移动终端(包括智能手机、非智能手机、各种平板电脑)等。另外,本发明的应用场景中,虽然此处和下面将本发明实施方式的动作描述为由客户端设备执行,但是这些动作也可以由服务器设备执行,即微端服务器,当然也可以部分由客户端设备执行、部分由服务器设备执行。本发明在执行主体方面不受限制,只要执行了本发明实施方式所公开的动作即可。

对显示在微端引擎页面中的游戏资源进行处理的具体方案为:

获取用户改变游戏资源存储位置的请求,用户改变游戏资源存储位置的请求包括添加新的游戏资源的请求和整理游戏资源请求;

根据用户改变游戏资源存储位置的请求,获得预先保存的操作区域设置信息,操作区域设置信息用于标识操作区域属于可操作区域或者禁止操作区域;

根据操作区域设置信息,在可操作区域中响应用户的请求改变游戏资源的存储位置。

通过对游戏资源的进一步处理,游戏资源显示在微端引擎页面,用户可进行操作处理的,通过上述处理,可以由用户自行设置可操作区域和/或禁止操作区域,使得禁止操作区域内的游戏资源不受特定改变游戏资源存储位置请求的影响,因此,无需用户反复对存储空间中的资源物品进行整理或者排序,减少了用户的繁琐操作,从而显著地降低了客户端与服务器的交互,并且减少了服务器的负载,提高了服务器性能,为用户带来了更好的体验。

其中,操作区域设置信息可以由用户预先设定。客户端可以接收用户操作区域设置请求,获得与操作区域设置请求对应的操作区域设置信息。

其中,操作区域设置信息包括禁止操作区域的开始位置信息和结束位置信息。用户设置操作区域的方式可以是灵活多样的。

其中,操作区域设置信息保存在客户端和/或服务器中。

下面以操作区域划分为多个游戏资源格为例进行说明。例如,对应鼠标输入,可以将用户按住某一特定按键的同时先后选取了两个游戏资源格的操作作为操作区域设置操作,将用户先选取的游戏资源格作为禁止操作区域的开始位置,将用户后选取的游戏资源格作为禁止操作区域的结束位置,反之亦可。这样,就可以通过两个游戏资源格的位置信息获取禁止操作区域的位置信息。一般地,只需要记录禁止操作区域对应的起始范围即可,例如开始位置对应的坐标以及结束位置对应的坐标。又如,在一些实现方式中,当操作区域划分为多个游戏资源格时,也可以通过记录开始资源格和结束资源格标号的方式作为禁止操作区域的开始位置信息和结束位置信息。总之,具体的实现方式是灵活多样的,本发明对此不进行限制。

在另外一种可能的实现方式中,用户进行操作区域设置的操作可以是用户点击鼠标按键连续划过多个游戏资源格或者连续游戏区域的操作,可以将用户按下鼠标按键的位置作为禁止操作区域的开始位置,将用户松开鼠标按键的位置作为禁止操作区域的结束位置。

需要说明的是,以上以鼠标输入为例进行说明。对应用户在具有触摸屏的终端所对应的手势输入操作,亦可通过检测用户的手势输入的方式确定禁止操作区域的设置范围。例如,用户可以在终端或电子设备上提供的用户界面上点击相应区域或者菜单触发操作区域设置,然后通过两次触摸点击操作设置禁止操作区域,将第一次触摸点击作为禁止操作区域的开始位置,将第二次触摸点击作为禁止操作区域的结束位置。当然,用户可以同时点击操作区域的不同位置,将两个触摸点之间的区域作为禁止操作区域的范围。

以上对几种可能的确定操作区域设置操作的方式进行了说明,需要说明的是,以上均是示例性说明,本领域技术人员在不付出创造性劳动下获取的其他实现方式均属于本发明的保护范围。

需要说明的是,当用户进行了操作区域设置后,即可以保存操作区域设置信息,操作区域设置信息用于标识操作区域属于可操作区域或者禁止操作区域。操作区域设置信息还可以包括可操作区域的起始位置信息和/或禁止操作区域的起始位置信息。操作区域设置信息既可以保存在客户端设备中,也可以保存在服务器设备中,也可以二者都保存。在一种可能的实现方式中,客户端设备在接收用户操作区域设置请求,获得与操作区域设置请求对应的操作区域设置信息后,即将操作区域设置信息发送给服务器设备,由服务器设备存储信息。客户端设备在每次启动游戏的时候或者在接收到用户改变游戏资源存储位置的请求时,向服务器设备请求操作区域设置信息。

优选地,在获得预先保存的操作区域设置信息之前,客户端设备还可以先判断用户改变游戏资源存储位置的请求是否为预设的请求类型;如果是,则执行获得预先保存的操作区域设置信息。例如,客户端设备可以预先设置只有接收到预设类型的请求时,才触发获得操作区域设置信息的操作。预设的请求类型可以由系统或者用户预先设定。例如,预设的请求类型包括添加新的游戏资源的请求和整理游戏资源请求时,那么接收到其他改变游戏资源存储位置的请求时,则不会触发获得操作区域设置信息的操作。例如,当改变游戏资源存储位置的请求为移动游戏资源的请求或者使用游戏资源的请求时,则不会触发获得操作区域设置信息的操作。

具体实现时,用户改变游戏资源存储位置的请求具体可以是:添加新的游戏资源的请求。用户改变游戏资源存储位置的请求还可以是整理游戏资源请求。对应不同的改变游戏资源存储位置的请求类型,具有不同的实现方式。下面以两种典型的实现方式为例进行说明。

当用户改变游戏资源存储位置的请求为添加新的游戏资源的请求时,根据操作区域设置信息,在可操作区域中响应用户的请求改变游戏资源的存储位置,具体为:

根据操作区域设置信息,获得可操作区域的坐标范围;

在坐标范围内检索空闲存储区域,将新的游戏资源存储在空闲存储区域内,建立新的游戏资源与空闲存储区域的对应关系。

在这一种实现方式中,客户端设备根据获得的操作区域设置信息,获得可以用于存储新的游戏资源的范围,即可操作区域的坐标范围,在坐标范围内检索空闲的存储区域,将新的游戏资源存储在空闲存储区域内。这样,用户预先设置的禁止操作区域内的游戏资源的存储位置将不会由于其他操作而被改变,用户无需重新对存储空间内的游戏资源进行位置调整,由此减少了客户端和服务器设备之间的交互,降低了服务器的负载。

当用户改变游戏资源存储位置的请求为整理游戏资源请求时,根据操作区域设置信息,在可操作区域中响应用户的请求改变游戏资源的存储位置,具体为:

根据操作区域设置信息,获得可操作区域的坐标范围;

对可操作区域的坐标范围内的游戏资源进行位置调整,将调整后的游戏资源存储在可操作区域中的对应存储位置,并建立调整后的游戏资源与其对应的存储位置的对应关系。

在本实现方式中,客户端设备根据获得的操作区域设置信息,获得可以进行游戏资源位置调整的区域范围,用即可操作区域的坐标范围,对坐标范围内的游戏资源进行调整。这样,用户预先设置的禁止操作区域内的游戏资源的存储位置将不会进行调整,而保持其原有的存储位置,只有可操作区域内的游戏资源才作为调整的对象进行调整。

具体实现时,对可操作区域的坐标范围内的游戏资源进行位置调整可以根据预设的方式或策略执行。例如,可以根据可操作区域的坐标范围内的游戏资源的优先级、类型进行调整,在此不进行限定。由于客户端设备对游戏资源进行位置调整时,不会改变禁止操作区域的游戏资源的存储位置,用户无需重新对存储空间内的游戏资源进行位置调整,由此减少了客户端和服务器设备之间的交互,降低了服务器的负载。

需要说明的是,以上以用户改变游戏资源存储位置的请求为添加新的游戏资源的请求或者整理游戏资源请求为例进行说明,本发明的方法对其他改变游戏资源存储位置的请求也适用。本发明的方法还可以应用到其他应用场景中,在此不进行限定。

在本实施例中,可以由用户自行设置可操作区域和/或禁止操作区域,使得禁止操作区域内的游戏资源不受特定改变游戏资源存储位置请求的影响,因此,无需用户反复对存储空间中的资源物品进行整理或者排序,减少了用户的繁琐操作,从而显著地降低了客户端与服务器的交互,并且减少了服务器的负载,提高了服务器性能,为用户带来了更好的体验。

参见图3至图5来对本发明的这种实现方式进行说明。其中,参见图3示意性地示出了本发明一应用场景示意图。在图3中,存储空间被划分为多个游戏资源格,每个游戏资源格可以用坐标或者编号来标识自己所在的位置,例如,其横坐标可以用资源格所在的列来表示,其纵坐标可以用资源格所在的行来表示。其中,游戏资源a所在的存储区域对应的游戏资源格可以表示为a1。游戏资源b所在的存储区域对应的游戏资源格可以表示为b1。其中,可以用一个数组对来标识游戏资源,例如,游戏资源a对应的数组对为(a1,1)。当然,也可以用一个数组对来标识游戏资源格,例如(a1,1),表明其位置为第a列,第1行,1代表其被游戏资源占用,0可以表示其为空闲资源格。或者,当一个游戏资源格被表示为(a1,a)时,表明其位置为第a列,第1行,被游戏资源a占用。又如,当一个游戏资源格被表示为(d1,0)时,表明其位置为第d列,第1行,未被任何游戏资源占用。具体的实现方式可以是多样的,在此不进行限定。

参见图4,示意性地示出了现有技术游戏资源处理方法效果示意图。在现有技术中,当添加新的游戏资源d、g、o、p时,新的游戏资源会被摆放在全部存储位置范围内的空闲存储位置,如图4所示。这样,就会破坏用户业已存在游戏资源摆放顺序,造成玩家操作和道具使用上的不便。玩家在游戏资源的摆放顺序被改变后,需要重新对存储空间中的游戏资源进行整理或者排序,当玩家拥有的游戏资源较多时,上述操作是非常繁琐的过程,服务器也需要频繁响应玩家的请求,造成服务器的负载加重。

参见图5,示意性地示出了本发明的游戏资源处理方法效果示意图。在本发明中,在用户设置第1行为禁止操作区域的情况下,当添加新的游戏资源d、g、o、p时,则会跳过用户设置的禁止操作区域,而是在可操作区域内检索空闲区域,例如在(a2,i)到(h8,0)的范围内检索空闲区域,其中,0表示空闲资源格。这时只需要在可操作区域范围内检索表示为(*,0)的数组对即可。这时,新的游戏资源d、g、o、p的存储位置如图5所示,禁止操作区域内的游戏资源的存储位置和摆放顺序则不会被打乱,且禁止操作区域内的空闲存储位置不会被占用。本发明提供的方法对于用户的游戏资源较多或者存储空间连续的游戏应用特别适用,可以提高用户的体验,并降低服务器设备的负载。

对应的对显示在微端引擎页面中的游戏资源进行处理在微端引擎创建模块中执行,微端引擎创建模块101还用于:

获取用户改变游戏资源存储位置的请求,用户改变游戏资源存储位置的请求包括添加新的游戏资源的请求和整理游戏资源请求;

根据用户改变游戏资源存储位置的请求,获得预先保存的操作区域设置信息,操作区域设置信息用于标识操作区域属于可操作区域或者禁止操作区域;

根据操作区域设置信息,在可操作区域中响应用户的请求改变游戏资源的存储位置。

通过对游戏资源的进一步处理,游戏资源显示在微端引擎页面,用户可进行操作处理的,通过上述处理,可以由用户自行设置可操作区域和/或禁止操作区域,使得禁止操作区域内的游戏资源不受特定改变游戏资源存储位置请求的影响,因此,无需用户反复对存储空间中的资源物品进行整理或者排序,减少了用户的繁琐操作,从而显著地降低了客户端与服务器的交互,并且减少了服务器的负载,提高了服务器性能,为用户带来了更好的体验。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1