CN102984124A - 一种将客户端游戏程序快速植入浏览器的方法及*** - Google Patents

一种将客户端游戏程序快速植入浏览器的方法及*** Download PDF

Info

Publication number
CN102984124A
CN102984124A CN2012104279861A CN201210427986A CN102984124A CN 102984124 A CN102984124 A CN 102984124A CN 2012104279861 A CN2012104279861 A CN 2012104279861A CN 201210427986 A CN201210427986 A CN 201210427986A CN 102984124 A CN102984124 A CN 102984124A
Authority
CN
China
Prior art keywords
game
download
data
resource
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012104279861A
Other languages
English (en)
Other versions
CN102984124B (zh
Inventor
孙继峥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING KUNLUN TECH Co Ltd
Original Assignee
BEIJING KUNLUN TECH Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING KUNLUN TECH Co Ltd filed Critical BEIJING KUNLUN TECH Co Ltd
Priority to CN201210427986.1A priority Critical patent/CN102984124B/zh
Publication of CN102984124A publication Critical patent/CN102984124A/zh
Application granted granted Critical
Publication of CN102984124B publication Critical patent/CN102984124B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种将客户端游戏程序快速植入浏览器的方法及***,该方法包括:获取游戏角色的当前游戏信息,根据当前游戏信息在全部游戏资源组内查找出当前游戏运行所必需的游戏资源组;下载所查找出的运行游戏所必需的游戏资源组,并在预设时间内判断必需游戏资源组是否下载完成;如果是,在浏览器中的插件内加载必需游戏资源组内的游戏资源数据;如果否,在浏览器中的插件内显示等待下载完成状态,并阻止用户的输入过程。与现有技术相比,该方法大大减少对客户端游戏数据进行重新编码和测试工作,降低了客户端游戏改成成网页游戏的生产成本。

Description

一种将客户端游戏程序快速植入浏览器的方法及***
技术领域
本发明涉及网页插件植入领域,特别是涉及一种将客户端游戏程序快速植入浏览器的方法及***。
背景技术
玩家在玩网路游戏之前,必需要先下载该游戏的客户端游戏应用程序,待下载全部完成以后才能进入游戏平台。且传统网络游戏的客户端游戏应用程序非常庞大,一般都达到300M以上,甚至是几个G大小,需要很长时间才能够下载完成。因此,在玩游戏之前,必需经过长时间的等待才能进入游戏平台。
为了解决上述问题,现有的另一种技术方案如下:程序人员按照不同平台的要求对客户端游戏应用程序进行大量的重新编码和测试的工作,将其改造成适合通过网络平台的易于推广的程序。在该技术方案中,由于对客户端游戏应用程序的二次开发需要进行大量的编码和测试的工作,并且,若想要游戏同时支持多种浏览器,需要多次编码,并同时维护多个项目,对人力和物力的消耗很大,以致生产成本过高。
因此亟需一种在玩游戏之前无需经过长时间的等待、且生产成本较低的将客户端游戏应用程序快速植入浏览器的方法和***。
发明内容
有鉴于此,本发明提供了一种将客户端游戏程序快速植入浏览器的方法及***,以满足在游戏之前无需经过长时间的等待、且生产成本较低的要求。
为了实现上述目的,本申请实施例提供的技术方案如下:
一种将客户端游戏程序快速植入浏览器的方法,预先按照是否需要在同一时间段内加载将所述客户端游戏内的游戏资源数据分成多个游戏资源组,该方法包括:
获取游戏角色的当前游戏信息,所述游戏角色的当前游戏信息包括:游戏角色的等级信息、游戏角色所在的地图信息和玩家所选职业;
根据所述当前游戏信息在多个所述游戏资源组内查找出当前游戏运行所必需的游戏资源组;
下载所查找出的运行游戏所必需的游戏资源组,并在预设时间内判断所述必需游戏资源组是否下载完成;
如果是,控制游戏程序加载所述必需游戏资源组内的游戏资源数据;
如果否,在浏览器中的插件内显示等待下载完成状态,并冻结游戏主程序进程,且阻止用户的输入过程,直至下载完成。
优选地,所述预先按照是否需要在同一时间段内加载将所述客户端游戏内的游戏资源数据预先分成多个游戏资源组,包括:
将所述客户端游戏内的游戏资源数据按照不同类型进行初步分类;
判断同一分类中的游戏资源数据是否需要在同一时间段内加载,所述同一时间段内加载的游戏数据拥有一个相同特征,所述相同特征包括:资源是否属于同一地图、同一等级或者同一游戏内职业等;
将判断得到的需要在同一时间段内加载的游戏数据分为一个游戏资源组,并且将所述客户端游戏内的游戏资源数据分成多个游戏资源组。
优选地,所述运行游戏所必需的游戏资源数据组包括:形成游戏地图框架的游戏资源数据组、与游戏角色职业等级相匹配的游戏资源数据组。
优选地,在浏览器插件中显示等待状态,并阻止用户的输入过程,具体包括:
使用网页插件将游戏进程锁死,并在原游戏画面窗口的顶部显示包含有下载条进度的下载进度窗口;
将***焦点设置给所述下载进度窗口,并停止游戏进程接收任何用户的输入操作;
使用网页插件在另一个线程里接管原游戏的网络接口,保存网络传来的信息,并代替游戏逻辑发送用来保持连接的心跳消息,以保持网络连接。
一种将客户端游戏程序快速植入浏览器的***,包括:预分组单元、获取单元、查找单元、下载单元、下载判断单元、运行单元和等待状态设置单元,其中:
所述预分组单元,用于按照是否在同一时间段内加载将所述客户端游戏内的游戏数据预先分成多个游戏数据组;
所述获取单元用于获取游戏角色的当前游戏信息,所述游戏角色的当前游戏信息包括:游戏角色的等级信息和游戏角色所在的地图信息;
所述查找单元用于根据所述获取单元获取得到的当前游戏信息在多个所述游戏数据组内查找出当前游戏运行所必需的游戏数据组;
所述下载单元,用于在浏览器中预先改造后的网页上下载所查找出的运行游戏所必需的游戏数据组;
所述下载判断单元,用于判断在预设时间内所述必需游戏数据组是否下载完成;
所述运行单元,用于当所述下载判断单元判断下载完成时,加载所查找出的运行游戏所必需的游戏数据组;
所述等待状态设置单元,用于当所述下载判断单元判断下载未完成时,在浏览器中改造后的网页上显示等待状态,并冻结游戏主程序进程,且阻止用户的输入过程,直至下载完成。
优选地,所述预分组单元包括:分类单元、加载判断单元和预分组子单元,其中:
所述分类单元用于将所述客户端游戏内的游戏数据按照不同类型进行初步分类;
所述加载判断单元用于判断同一分类中的游戏数据是否在同一时间段内加载,所述同一时间段内加载的游戏数据拥有一个相同特征,所述相同特征包括:同一地图编号、同一等级或者同一游戏内职业;
所述预分组子单元用于将判断得到的在同一时间段内加载的游戏数据分为一个游戏资源组,并且所述与分组子单元将所述客户端游戏内的游戏资源数据分成多个游戏资源组。
优选地,所述等待状态设置单元包括:锁定单元、***焦点设置单元和网络连接单元,其中:
所述锁定单元用于使用网页插件将游戏进程锁死,并用显示下载条进度的下载进度窗口遮盖原游戏画面窗口;
所述***焦点设置单元用于将***焦点设置给所述下载进度窗口,并停止接收任何用户的输入操作;
所述网络连接单元用于使用网页插件在另一个线程里接管原游戏的网络接口,保存网络传来的信息,并代替游戏逻辑发送用来保持连接的心跳消息,以保持网络连接。
由以上技术方案可见,本申请实施例提供的该方法在执行前,首先预先将所述客户端游戏内的游戏资源数据分成多个游戏资源组,这里不同的游戏资源组内数据加载的时间均不相同,但同一个游戏资源组内的数据加载的时间均相同,而该方法在执行时,通过获取游戏角色的当前游戏信息,就可以根据游戏角色当前具体情况,在多个游戏资源组内查找运行游戏所必需的游戏资源组,并且在查找到必需游戏资源组后,直接进行下载;最后,当在预设时间内下载完成,直接加载下载后的必需游戏资源组即可,而当预设时间内下载没有完成,那么将会中断当前游戏进程,直至下载完成。
本申请实施例提供的该方法,在下载游戏数据时,首先下载那些可以保证当前游戏正常运行的必需资源,由于必需游戏资源组的百分比很小,此时用户只需下载少量必需资源即可进入游戏平台,即在开始游戏时,用户需要等待的时间很小。与现有技术相比,该方法大大减少对客户端游戏数据进行重新编码和测试工作,降低了客户端游戏改成成网页游戏的生产成本。并且可以实现将客户端游戏应用程序快速植入浏览器,同时在将客户端游戏程序植入浏览器时,用户等待的时间较短。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种将客户端游戏程序快速植入浏览器的方法的流程示意图;
图2为本申请实施例提供的对客户端游戏内的游戏资源进行分组的流程示意图;
图3为本申请实施例提供的显示等待下载并阻止用户输入的流程示意图;
图4为本申请实施例提供的在浏览器中的插件内加载所述必需游戏资源组内的游戏资源数据的详细流程示意图;
图5为本申请实施例提供的将客户端游戏程序快速植入浏览器的***的结构示意图;
图6为本申请实施例提供的预分组单元的详细结构示意图;
图7为本申请实施例提供的待状态设置单元的详细结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
图1为本申请实施例提供的一种将客户端游戏程序快速植入浏览器的方法的流程示意图。
在本申请实施例提供的该方法进行前,需要做一些准备工作,这些准备工作包括:预先按照是否需要在同一时间段内加载将所述客户端游戏内的游戏资源数据分成多个游戏资源组。
通过上述预先分组处理后,客户端游戏内的众多的游戏资源数据进行一个初步的梳理,梳理后的游戏资源数据将会被分成多个游戏资源组,不同的游戏资源组内数据加载的时间均不相同,但同一个游戏资源组内的数据加载的时间均相同。
如图1所示,本申请实施例提供的将客户端游戏程序快速植入浏览器的方法包括以下步骤:
S101:获取游戏角色的当前游戏信息。
在游戏中,用户通过扮演虚拟世界中的一个或者几个特定角色在特定场景下进行游戏,并且角色根据不同的游戏情节和统计数据(例如力量、灵敏度、智力、魔法等)具有不同的能力。在本申请实施例中,游戏角色的当前游戏信息可以包括:游戏角色的等级信息、游戏角色所在的地图信息和玩家所选职业等,本领域技术人员应该知道,上述游戏角色的当前信息仅仅是本申请实施例提供的一些实施例,在本申请其它实施例中,根据不同的情况,还可以包括其它信息。
S102:根据所述当前游戏信息在多个所述游戏资源组内查找出当前游戏运行所必需的游戏资源组。
在前述准备过程中,已经将客户端游戏资源中被分成的多个游戏资源组中,虽然可以确定不同游戏资源组内数据的加载时间不同,但无法确定不同游戏资源组加载的先后顺序。
通过该步骤,可以对多个游戏资源组的加载先后进行一个初步区分。这里,本申请实施例所描述的必需游戏资源是指程序或游戏中不可或缺的资源。例如:游戏角色进入一张地图,此时如果没有加载地图资源,那么玩家看到的将是游戏角色处于一片空白环境中或者游戏程序会因为资源的缺失而不能正常运行,所以此时游戏地图的模型或材质往往是地图中的必需资源。而相对而言,为某个地图定制的背景音乐则可以是非必需资源,即玩家即便听不到背景音乐也不会影响玩家正常的游戏。
对于游戏角色当前所处的游戏环境来说,其所需要的必需游戏资源相对于客户端游戏的所有游戏资源来说,所占的比重相对较小。
S103:下载所查找出的运行游戏所必需的游戏资源组,并在预设时间内判断所述必需游戏资源组是否下载完成。
经过上述步骤S102的查找,可以确定出需要首先下载的游戏资源组,在该步骤中,可以直接在浏览器插件中下载所查找出的运行游戏所必需的游戏资源组。
另外,当开始下载后,还需在预设时间内判断上述下载动作是否完成,这里预设时间通常是指游戏中预先延迟的时间,即玩家在游戏中可以容忍的最大迟延时间。
当在预设时间内下载动作已经完成,直接执行步骤S104;相反,当在预设时间内下载动作还没有完成,那么需要执行步骤S105。
S104:在改造后的游戏主程序上加载所述必需游戏资源组内的游戏资源数据。
由于在步骤S103中已经判断出必需游戏资源组已经下载完成,所以在该步骤就可以直接,将下载后的必需游戏资源组直接进行记载即可。
S105:在浏览器中的插件内显示等待下载完成状态,并冻结游戏主程序进程,且阻止用户的输入过程。
由于在预设时间内,运行游戏所必需的游戏资源组并没有加载完成,那么此时就需要暂停用户的游戏界面,并冻结游戏主程序进程,以等待这些必需的游戏资源组下载完成,否则游戏程序可能会因为资源的缺失而不能正常运行,或者即使游戏程序可以运行,用户看到的游戏角色(这里可以为游戏角色本身或者游戏角色所处的环境)将会出现严重偏差甚至失真。
所以在必需游戏资源组下载完成前,需要中断当前的游戏进程,并返回步骤S103,直至必需游戏资源组下载完成,才可以进行加载,使得游戏可以正常运行。
此外,在本申请实施例中,对于那些非必须客户端游戏资源数据组,浏览器插件在游戏运行的过程中可以选择在后台进行下载,并且下载完成后通知游戏程序下载完成,以便游戏程序加载非必需的游戏资源。对于后台下载的过程,本领域普通技术人员都了解其过程,在此不再赘述。
由以上技术方案可见,本申请实施例提供的该方法在执行前,首先预先将所述客户端游戏内的游戏资源数据分成多个游戏资源组,这里不同的游戏资源组内数据加载的时间均不相同,但同一个游戏资源组内的数据加载的时间均相同,而该方法在执行时,通过获取游戏角色的当前游戏信息,就可以根据游戏角色当前具体情况,在多个游戏资源组内查找运行游戏所必需的游戏资源组,并且在查找到必需游戏资源组后,直接进行下载;最后,当在预设时间内下载完成,直接加载下载后的必需游戏资源组即可,而当预设时间内下载没有完成,那么将会中断当前游戏进程,直至下载完成。
本申请实施例提供的该方法,在下载游戏数据时,首先下载那些可以保证当前游戏正常运行的必需资源,由于必需游戏资源组的百分比很小,此时用户只需下载少量必需资源即可进入游戏平台,即在开始游戏时,用户需要等待的时间很小。与现有技术相比,该方法大大减少对客户端游戏数据进行重新编码和测试工作,降低了客户端游戏改成成网页游戏的生产成本,同时在将客户端游戏程序植入浏览器时,用户等待的时间较短。
实施例二:
在上述实施例中,在将客户端游戏程序快速植入浏览器之前,需要游戏资源组分组的准备工作,在进行分组时,其宗旨是:按照是否需要在同一时间段内加载。在本申请实施例,关于如何对游戏资源进行分组进行详细阐述。
图2为本申请实施例提供的对客户端游戏内的游戏资源进行分组的流程示意图。
如图2所示,该分组步骤包括:
S201:将所述客户端游戏内的游戏资源数据按照不同类型进行初步分类。
这里的初步分类的标准是指游戏资源数据的类型,即游戏内不同的地图数据可以分成地图类,游戏内同一类植物的数据可以分成植物类,例如:植物类可以分为:阔叶林类、针叶林类、灌木类等等,通过上述初步分类,可以对客户端游戏内的所有游戏资源数据进行一个初步归类,以方便后续查找过程。
S202:判断同一分类中的游戏资源数据是否需要在同一时间段内加载。
由于同一分类中的游戏资源数据,可以根据不同的用户需求而不再同一时间段内加载。例如:考虑到用户分辨率的问题,对于同一棵树来说,当游戏角色与该树的距离较远时,此时可以只加载树干部分,就可以满足游戏运行要求,而当用户站在该树附近或者用户位于该树上时,就需要加载树枝、树叶、花朵甚至果实等细节信息,否则即使游戏可以运行,但对于用户来说,其游戏角色将处于的环境将会出现偏差甚至失真。
本申请实施例中,对于同一时间段内加载的游戏数据拥有一个相同特征,这里所说的相同特征包括:资源是否属于同一地图、同一等级或者同一游戏内职业等,也就是从游戏角色的当前情况来看,当前游戏角色所需要的必需游戏资源是对不同分类中再次选择后的结果。
S203:将判断得到的在同一时间段内加载的游戏数据分为一个游戏资源组,并且将所述客户端游戏内的游戏资源数据分成多个游戏资源组。
通过该步骤,就可以将客户端游戏内的所有游戏资源分成多个游戏资源组,这里不同的游戏资源组内数据加载的时间均不相同,但同一个游戏资源组内的数据加载的时间均相同。并且最后得到的运行游戏所必需的游戏资源数据组包括:形成游戏地图框架的游戏资源数据组、与游戏角色职业等级相匹配的游戏资源数据组。
实施例三:
当实施例一中判断在预设时间内必需游戏资源组的下载动作没有完成,那么就需要中断当前的游戏进程,直至必需游戏资源组下载完成。在本申请实施例中,针对如何在浏览器中的插件内显示等待下载完成状态,并阻止用户的输入过程,进行详细阐述。
图3为本申请实施例提供的显示等待下载并阻止用户输入的流程示意图。
如图3所示,该步骤包括:
S301:使用网页插件将游戏进程锁死,并在原游戏画面窗口的顶部显示包含有下载条进度的下载进度窗口。
这里所描述的有游戏画面窗口的顶部,并不是指位于浏览器屏幕平面的上方,而是指在将原游戏画面窗口置于底层,而下载进度窗口位于原游戏画面的前方。
S302:将***焦点设置给所述下载进度窗口,并停止游戏进程接收任何用户的输入操作。
通过停止游戏进程接收任何有能过户的输入操作,使得用户无法操控游戏进程,进而可以使得用户的游戏角色处于等待状态,即使得整个游戏进程处于等待状态。
S303:使用网页插件在另一个线程里接管原游戏的网络接口,保存网络传来的信息,并代替游戏逻辑发送用来保持连接的心跳消息,以保持网络连接。
通过上述步骤,可以在必需游戏资源组下载完成前,中断当前的游戏进程并直至必需游戏资源组下载完成。
实施例四:
在上述实施例中,当判断在预设时间内必需游戏资源组的下载动作完成后,那么就需要对下载完成的必需游戏资源组进行加载。在本申请实施例中,在加载所述必需游戏资源组内的游戏资源数据,需要客户端游戏程序进行一些小的改造,下面进行详细阐述。
图4为本申请实施例提供的游戏在浏览器中的插件内加载所述必需游戏资源组内的游戏资源数据的详细流程示意图。
如图4所示,该步骤包括:
S401:调用开发框架提供的接口函数来访问所述游戏资源。
S402:修改网络接口函数为同名的开发框架提供的接口函数。
S403:使用开发框架提供的函数创建游戏主窗口。
通过上述步骤,可以对需要客户端游戏程序进行一些小的改造,并且可以利用改造后的游戏程序内对必需游戏资源组进行加载。
实施例五:
本申请实施例还提供一种将客户端游戏程序快速植入浏览器的***,图5为本申请实施例提供的将客户端游戏程序快速植入浏览器的***的结构示意图。
如图5所示,该***包括:预分组单元10、获取单元20、查找单元30、下载单元40、下载判断单元50、运行单元60和等待状态设置单元70。
预分组单元10,用于按照是否在同一时间段内加载将所述客户端游戏内的游戏数据预先分成多个游戏数据组。
通过上述预先分组处理后,客户端游戏内的众多的游戏资源数据进行一个初步的梳理,梳理后的游戏资源数据将会被分成多个游戏资源组,不同的游戏资源组内数据加载的时间均不相同,但同一个游戏资源组内的数据加载的时间均相同。
获取单元20,用于获取游戏角色的当前游戏信息,所述游戏角色的当前游戏信息包括:游戏角色的等级信息和游戏角色所在的地图信息。
在游戏中,用户通过扮演虚拟世界中的一个或者几个特定角色在特定场景下进行游戏,并且角色根据不同的游戏情节和统计数据(例如力量、灵敏度、智力、魔法等)具有不同的能力。在本申请实施例中,游戏角色的当前游戏信息可以包括:游戏角色的等级信息、游戏角色所在的地图信息和玩家所选职业等,本领域技术人员应该知道,上述游戏角色的当前信息仅仅是本申请实施例提供的一些实施例,在本申请其它实施例中,根据不同的情况,还可以包括其它信息。
查找单元30,用于根据所述获取单元获取得到的当前游戏信息在多个所述游戏数据组内查找出当前游戏运行所必需的游戏数据组。
在前述准备过程中,已经将客户端游戏资源中被分成的多个游戏资源组中,虽然可以确定不同游戏资源组内数据的加载时间不同,但无法确定不同游戏资源组加载的先后顺序。
通过该步骤,可以对多个游戏资源组的加载先后进行一个初步区分。这里,本申请实施例所描述的必需游戏资源是指程序或游戏中不可或缺的资源。例如:游戏角色进入一张地图,此时如果没有加载地图资源,那么玩家看到的将是游戏角色处于一片空白环境中或者游戏程序会因为资源的缺失而不能正常运行,所以此时游戏地图的模型或材质往往是地图中的必需资源。而相对而言,为某个地图定制的背景音乐则可以是非必需资源,即玩家即便听不到背景音乐也不会影响玩家正常的游戏。
对于游戏角色当前所处的游戏环境来说,其所需要的必需游戏资源相对于客户端游戏的所有游戏资源来说,所占的比重相对较小。
下载单元40,用于在浏览器中预先改造后的网页上下载所查找出的运行游戏所必需的游戏数据组。
下载判断单元50,用于判断在预设时间内所述必需游戏数据组是否下载完成。这里预设时间通常是指游戏中预先延迟的时间,即玩家在游戏中可以容忍的最大迟延时间。
运行单元60,用于当所述下载判断单元判断下载完成时,在浏览器插件中下载所查找出的运行游戏所必需的游戏数据组。由于下载判断单元50已经判断出必需游戏资源组已经下载完成,所以运行单元60就可以直接,将下载后的必需游戏资源组直接进行记载即可。
等待状态设置单元70,用于当所述下载判断单元判断下载未完成时,在浏览器中改造后的网页上显示等待状态,并冻结游戏主程序进程,且阻止用户的输入过程,直至下载完成。
由于在预设时间内,运行游戏所必需的游戏资源组并没有加载完成,那么此时就需要暂停用户的游戏界面,以等待这些必需的游戏资源组下载完成,否则游戏程序可能会因为资源的缺失而不能正常运行,或者即使游戏程序可以运行,用户看到的游戏角色(这里可以为游戏角色本身或者游戏角色所处的环境)将会出现严重偏差甚至失真。
所以在必需游戏资源组下载完成前,需要中断当前的游戏进程,直至必需游戏资源组下载完成,才可以进行加载,使得游戏可以正常运行。
由以上技术方案可见,本申请实施例提供的该***,首先预先将所述客户端游戏内的游戏资源数据分成多个游戏资源组,这里不同的游戏资源组内数据加载的时间均不相同,但同一个游戏资源组内的数据加载的时间均相同。然后通过获取游戏角色的当前游戏信息,就可以根据游戏角色当前具体情况,在多个游戏资源组内查找运行游戏所必需的游戏资源组,并且在查找到必需游戏资源组后,直接进行下载。最后,当在预设时间内下载完成,直接加载下载后的必需游戏资源组即可,而当预设时间内下载没有完成,那么将会中断当前游戏进程,直至下载完成。
本申请实施例提供的该***,在下载游戏数据时,首先下载那些可以保证当前游戏正常运行的必需资源,由于必需游戏资源组的百分比很小,此时用户只需下载少量必需资源即可进入游戏平台,即在开始游戏时,用户需要等待的时间很小。与现有技术相比,该方法无需对客户端游戏数据进行重新编码和测试工作,减小了客户端游戏的生产成本,并且可以实现将客户端游戏应用程序快速植入浏览器,同时在将客户端游戏程序植入浏览器时,用户等待的时间较短。
实施例六:
图6为本申请实施例提供的预分组单元的详细结构示意图。
如图6所示,预分组单元10包括:分类单元11、加载判断单元12和预分组子单元13,其中:
分类单元11用于将所述客户端游戏内的游戏数据按照不同类型进行初步分类;
加载判断单元12与分类单元11相连接,用于判断同一分类中的游戏数据是否在同一时间段内加载,所述同一时间段内加载的游戏数据拥有一个相同特征,所述相同特征包括:同一地图编号、同一等级或者同一游戏内职业;
预分组子单元13与加载判断单元12相连接,用于将判断得到的在同一时间段内加载的游戏数据分为一个游戏资源组,并且所述与分组子单元将所述客户端游戏内的游戏资源数据分成多个游戏资源组。
实施例七
图7为本申请实施例提供的待状态设置单元的详细结构示意图。
如图7所示,待状态设置单元70包括:锁定单元71、***焦点设置单元72和网络连接单元73,其中:
锁定单元71用于使用网页插件将游戏进程锁死,并用显示下载条进度的下载进度窗口遮盖原游戏画面窗口;
***焦点设置72单元用于将***焦点设置给所述下载进度窗口,并停止接收任何用户的输入操作;
网络连接单元73用于使用网页插件在另一个线程里接管原游戏的网络接口,保存网络传来的信息,并代替游戏逻辑发送用来保持连接的心跳消息,以保持网络连接。
在实际案例中,本发明提供的运行单元可以采用KLWebX***来实现,这里KLWebX***包括以下5个主要的功能模块:
1、KLWebX_AXPlayer:是一个嵌入Internet Explorer浏览器的ActiveX插件,与网页脚本进行通信,并负责升级和加载XModule与XDownloader模块。
2、KLWebX_NSPlayer:是嵌入Google Chrome、Safari、Firefox、Opera等浏览器的网页插件,同样负责与网页脚本进行通信,以及升级和加载XModule与XDownloader模块。
3、XModule:是一个不带任何显示的标准DLL,是网页脚本和游戏间通讯的桥梁,适用于多种浏览器。能够根据网页脚本传来的数据下载和启动游戏程序。
4、XDownloader:是一个没有任何显示的EXE程序,受XModule控制执行HTTP下载队列的管理。
5、XFramework:嵌入游戏的代码和静态链接库,为游戏提供下载、与脚本通信、与XModule通信的功能。
在KLWebX***中,当KLWebX框架发现游戏***要访问的必要资源尚未下载时,KLWebX首先将游戏进程锁死,这时定时器和渲染循环或逻辑循环将不再动作;在锁死游戏进程的同时,KLWebX会用显示下载进度条的窗口遮盖原游戏画面窗口,并将***焦点设置给下载进度窗口,此时游戏***将不再收到任何用户的输入操作。同时,KLWebX在另一个线程里接管原游戏的网络接口,保存网络传来的消息,并替游戏逻辑发送用来保持连接的idle消息或tick消息来保持网络的连接。经过上述操作,游戏客户端进入休眠状态,但仍与游戏服务器保持着正常的连接。在游戏所需的必要资源下载结束后,KLWebX将收起下载进度窗口,释放游戏进程,并将收到的网络消息发给游戏***。此时游戏***从休眠中醒来,所需的资源已经下载完毕,就可以一如既往的进行游戏逻辑了。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的***实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请可用于众多通用或专用的计算***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (7)

1.一种将客户端游戏程序快速植入浏览器的方法,其特征在于,预先按照是否需要在同一时间段内加载将所述客户端游戏内的游戏资源数据分成多个游戏资源组,该方法包括:
获取游戏角色的当前游戏信息,所述游戏角色的当前游戏信息包括:游戏角色的等级信息、游戏角色所在的地图信息和玩家所选职业;
根据所述当前游戏信息在多个所述游戏资源组内查找出当前游戏运行所必需的游戏资源组;
下载所查找出的运行游戏所必需的游戏资源组,并在预设时间内判断所述必需游戏资源组是否下载完成;
如果是,控制游戏程序加载所述必需游戏资源组内的游戏资源数据;
如果否,在浏览器中的插件内显示等待下载完成状态,并冻结游戏主程序进程,且阻止用户的输入过程,直至下载完成。
2.根据权利要求1所述的方法,其特征在于,所述预先按照是否需要在同一时间段内加载将所述客户端游戏内的游戏资源数据预先分成多个游戏资源组,包括:
将所述客户端游戏内的游戏资源数据按照不同类型进行初步分类;
判断同一分类中的游戏资源数据是否需要在同一时间段内加载,所述同一时间段内加载的游戏数据拥有一个相同特征,所述相同特征包括:资源是否属于同一地图、同一等级或者同一游戏内职业等;
将判断得到的需要在同一时间段内加载的游戏数据分为一个游戏资源组,并且将所述客户端游戏内的游戏资源数据分成多个游戏资源组。
3.根据权利要求2所述的方法,其特征在于,所述运行游戏所必需的游戏资源数据组包括:形成游戏地图框架的游戏资源数据组、与游戏角色职业等级相匹配的游戏资源数据组。
4.根据权利要求3所述的方法,其特征在于,在浏览器插件中显示等待状态,并阻止用户的输入过程,具体包括:
使用网页插件将游戏进程锁死,并在原游戏画面窗口的顶部显示包含有下载条进度的下载进度窗口;
将***焦点设置给所述下载进度窗口,并停止游戏进程接收任何用户的输入操作;
使用网页插件在另一个线程里接管原游戏的网络接口,保存网络传来的信息,并代替游戏逻辑发送用来保持连接的心跳消息,以保持网络连接。
5.一种将客户端游戏程序快速植入浏览器的***,其特征在于,包括:预分组单元、获取单元、查找单元、下载单元、下载判断单元、运行单元和等待状态设置单元,其中:
所述预分组单元,用于按照是否在同一时间段内加载将所述客户端游戏内的游戏数据预先分成多个游戏数据组;
所述获取单元用于获取游戏角色的当前游戏信息,所述游戏角色的当前游戏信息包括:游戏角色的等级信息和游戏角色所在的地图信息;
所述查找单元用于根据所述获取单元获取得到的当前游戏信息在多个所述游戏数据组内查找出当前游戏运行所必需的游戏数据组;
所述下载单元,用于在浏览器中预先改造后的网页上下载所查找出的运行游戏所必需的游戏数据组;
所述下载判断单元,用于判断在预设时间内所述必需游戏数据组是否下载完成;
所述运行单元,用于当所述下载判断单元判断下载完成时,加载所查找出的运行游戏所必需的游戏数据组;
所述等待状态设置单元,用于当所述下载判断单元判断下载未完成时,在浏览器中改造后的网页上显示等待状态,并冻结游戏主程序进程,且阻止用户的输入过程,直至下载完成。
6.根据权利要求5所述的***,其特征在于,所述预分组单元包括:分类单元、加载判断单元和预分组子单元,其中:
所述分类单元用于将所述客户端游戏内的游戏数据按照不同类型进行初步分类;
所述加载判断单元用于判断同一分类中的游戏数据是否在同一时间段内加载,所述同一时间段内加载的游戏数据拥有一个相同特征,所述相同特征包括:同一地图编号、同一等级或者同一游戏内职业;
所述预分组子单元用于将判断得到的在同一时间段内加载的游戏数据分为一个游戏资源组,并且所述与分组子单元将所述客户端游戏内的游戏资源数据分成多个游戏资源组。
7.根据权利要求5所述的***,其特征在于,所述等待状态设置单元包括:锁定单元、***焦点设置单元和网络连接单元,其中:
所述锁定单元用于使用网页插件将游戏进程锁死,并用显示下载条进度的下载进度窗口遮盖原游戏画面窗口;
所述***焦点设置单元用于将***焦点设置给所述下载进度窗口,并停止接收任何用户的输入操作;
所述网络连接单元用于使用网页插件在另一个线程里接管原游戏的网络接口,保存网络传来的信息,并代替游戏逻辑发送用来保持连接的心跳消息,以保持网络连接。
CN201210427986.1A 2012-10-31 2012-10-31 一种将客户端游戏程序快速植入浏览器的方法及*** Expired - Fee Related CN102984124B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210427986.1A CN102984124B (zh) 2012-10-31 2012-10-31 一种将客户端游戏程序快速植入浏览器的方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210427986.1A CN102984124B (zh) 2012-10-31 2012-10-31 一种将客户端游戏程序快速植入浏览器的方法及***

Publications (2)

Publication Number Publication Date
CN102984124A true CN102984124A (zh) 2013-03-20
CN102984124B CN102984124B (zh) 2016-08-17

Family

ID=47857872

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210427986.1A Expired - Fee Related CN102984124B (zh) 2012-10-31 2012-10-31 一种将客户端游戏程序快速植入浏览器的方法及***

Country Status (1)

Country Link
CN (1) CN102984124B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729558A (zh) * 2013-12-26 2014-04-16 北京像素软件科技股份有限公司 一种场景切换方法
CN104360871A (zh) * 2014-10-12 2015-02-18 厦门雅基软件有限公司 一种***安装快速启动方法
CN106202141A (zh) * 2016-05-24 2016-12-07 北京畅游天下网络技术有限公司 一种资源加载方法及装置
CN107038044A (zh) * 2017-03-27 2017-08-11 长沙趣动文化科技有限公司 基于Unity3D的游戏资源离散加载方法及***
CN107609065A (zh) * 2017-08-30 2018-01-19 武汉斗鱼网络科技有限公司 一种游戏分类方法、装置及电子设备
CN111008048A (zh) * 2019-11-22 2020-04-14 珠海豹趣科技有限公司 一种文件加载方法、装置及可读存储介质
CN112527171A (zh) * 2020-12-14 2021-03-19 北京聪明核桃教育科技有限公司 多媒体文件播放方法、装置、设备及介质
CN114579000A (zh) * 2020-12-01 2022-06-03 鸿富锦精密电子(天津)有限公司 禁止用户操作方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070016588A1 (en) * 2005-07-12 2007-01-18 Inventec Corporation Update system and related method
CN101226525A (zh) * 2007-01-19 2008-07-23 国际商业机器公司 控制web页面的下载和显示的方法、服务器、客户端及***
CN102081528A (zh) * 2009-11-26 2011-06-01 冼剑光 一种大型软件边下载边运行的方法
CN102238156A (zh) * 2010-05-07 2011-11-09 盛乐信息技术(上海)有限公司 网络游戏客户端资源下载方法
CN102340497A (zh) * 2010-07-23 2012-02-01 北京乐升科技有限公司 网络游戏***及网络游戏的资源处理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070016588A1 (en) * 2005-07-12 2007-01-18 Inventec Corporation Update system and related method
CN101226525A (zh) * 2007-01-19 2008-07-23 国际商业机器公司 控制web页面的下载和显示的方法、服务器、客户端及***
CN102081528A (zh) * 2009-11-26 2011-06-01 冼剑光 一种大型软件边下载边运行的方法
CN102238156A (zh) * 2010-05-07 2011-11-09 盛乐信息技术(上海)有限公司 网络游戏客户端资源下载方法
CN102340497A (zh) * 2010-07-23 2012-02-01 北京乐升科技有限公司 网络游戏***及网络游戏的资源处理方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729558A (zh) * 2013-12-26 2014-04-16 北京像素软件科技股份有限公司 一种场景切换方法
CN104360871A (zh) * 2014-10-12 2015-02-18 厦门雅基软件有限公司 一种***安装快速启动方法
CN106202141A (zh) * 2016-05-24 2016-12-07 北京畅游天下网络技术有限公司 一种资源加载方法及装置
CN107038044A (zh) * 2017-03-27 2017-08-11 长沙趣动文化科技有限公司 基于Unity3D的游戏资源离散加载方法及***
CN107609065A (zh) * 2017-08-30 2018-01-19 武汉斗鱼网络科技有限公司 一种游戏分类方法、装置及电子设备
CN111008048A (zh) * 2019-11-22 2020-04-14 珠海豹趣科技有限公司 一种文件加载方法、装置及可读存储介质
CN111008048B (zh) * 2019-11-22 2023-12-26 珠海豹趣科技有限公司 一种文件加载方法、装置及可读存储介质
CN114579000A (zh) * 2020-12-01 2022-06-03 鸿富锦精密电子(天津)有限公司 禁止用户操作方法、装置、电子设备及存储介质
CN112527171A (zh) * 2020-12-14 2021-03-19 北京聪明核桃教育科技有限公司 多媒体文件播放方法、装置、设备及介质
CN112527171B (zh) * 2020-12-14 2022-06-21 北京聪明核桃教育科技有限公司 多媒体文件播放方法、装置、设备及介质

Also Published As

Publication number Publication date
CN102984124B (zh) 2016-08-17

Similar Documents

Publication Publication Date Title
CN102984124A (zh) 一种将客户端游戏程序快速植入浏览器的方法及***
CN105653630B (zh) 分布式数据库的数据迁移方法与装置
CN102262534B (zh) 基于互联网b/s结构的计算机网络游戏开发***及方法
CN109032793A (zh) 资源配置的方法、装置、终端及存储介质
CN103577207A (zh) 一种自定义界面***中界面组件的加载方法和装置
CN103873534B (zh) 一种应用集群迁移方法及装置
CN106487553A (zh) Vnf实例的处理方法、装置及vnfm
CN104598841B (zh) 一种面向终端安全的双***引导方法和装置
CN106055575A (zh) 一种网站页面优化加载的方法及装置
CN105988850A (zh) 移动终端的开机控制方法和装置
CN107115673A (zh) 一种基于行为树的行为执行方法和装置
CN106682014B (zh) 游戏展示数据的生成方法和装置
CN103902903A (zh) 基于动态沙箱环境的恶意代码分析方法及***
CN106294395B (zh) 一种任务处理的方法及装置
CN106874485A (zh) 一种图片呈现的方法以及图片呈现装置
CN113051149A (zh) 一种用例参数生成方法及装置
CN111176924A (zh) 一种gpu掉卡模拟方法、***、终端及存储介质
CN103729533A (zh) 用于处理游戏的方法和装置
CN109739868A (zh) 一种数据处理方法及其相关设备
CN111258551A (zh) 一种代码生成方法以及装置
CN111158821B (zh) 一种任务处理的方法和装置
CN110417736B (zh) 银行跨隔离区软件发布方法、装置及计算机可读存储介质
CN109634647B (zh) 大型前端项目的构建方法及***
CN113244625A (zh) 游戏地形数据的编辑方法、装置、存储介质和电子装置
CN111346372A (zh) 一种基于数据备份的游戏登录加载方法、装置及服务器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160817

Termination date: 20171031