一种游戏加速方法及装置的制造方法

文档序号:9471134阅读:473来源:国知局
一种游戏加速方法及装置的制造方法
【技术领域】
[0001]本申请涉及一种游戏加速方法及装置。
[0002]
【背景技术】
[0003]随着科技的进步,越来越多的单机游戏被开发出以供人们日常娱乐。现有技术通常通过加速软件对单机游戏进行加速。
[0004]但是现有的加速软件只能加速32位游戏,不能加速64位游戏。并且游戏用户在使用的过程中,常常出现以下问题:加速软件没有和游戏结合起来,用户需要经过对加速软件的多个步骤的操作才能对游戏实现加速,通常需要先手动启动游戏,然后选择游戏进程,再加速,或者先启动加速软件,然后选择游戏路径,再加速,复杂的操作步骤给游戏用户带来了很多不便。

【发明内容】

[0005]本申请提供一种游戏加速方法及装置,可以方便快捷地对游戏进行加速。
[0006]根据本申请的第一方面,本申请提供一种游戏加速方法,接收用户界面输入的加速触发指令,所述加速触发指令包含加速倍数;拦截时间应用程序编程接口 API,所述时间API用于计算系统时间,将所述时间API的地址指向预先设置的自定义API的地址;根据所述加速倍数从所述预先设置的自定义API获取返回值,以对游戏进行加速。
根据本申请的第二方面,本申请提供一种游戏加速装置,包括:接收单元,用于接收用户界面输入的加速触发指令,所述加速触发指令包含加速倍数;拦截单元,用于拦截时间应用程序编程接口 API,所述时间API用于计算系统时间,将所述时间API的地址指向预先设置的自定义API的地址;获取单元,用于根据所述加速倍数从所述预先设置的自定义API接口获取返回值,以对游戏进行加速。
本申请提供的游戏加速方法及装置,接收用户界面输入的加速触发指令,拦截时间API,使时间API的地址指向预先设置的自定义API的地址,根据加速倍数从预先设置的自定义API接口获取返回值,从而达到更改时间API的返回值的目的,对游戏进行加速。本申请只需一步即可对游戏进行加速,操作方便。其中在拦截时间API前,可以按照游戏的数据位宽注入对应的DLL,将加速倍数输入到32位或者64位的DLL中,从而对32位或64位游戏均可以进行加速,克服了现有技术不能对64位游戏加速的技术缺陷。
【附图说明】
[0007]图1为本发明实施例一的方法流程图;
图2为本发明实施例一的另一种方法流程图;
图3为本发明图1的步骤103的流程图;
图4为本发明实施例二的装置结构示意图; 图5为本发明实施例二另一种装置结构示意图。
[0008]
【具体实施方式】
[0009]下面通过【具体实施方式】结合附图对本发明作进一步详细说明。
[0010]在本申请实施例中,提供一种游戏加速方法及装置,可以对游戏进行加速。
[0011]实施例一:
请参考图1,图1为本发明实施例一的方法流程图。如图1所示,一种游戏加速方法,可以包括以下步骤:
101、接收用户界面输入的加速触发指令。
[0012]其中,加速触发指令中包含加速倍数。用户界面上可以预先设置有加速按钮,用户在需要对游戏进行加速时,只需点击加速按钮,即可将携带有加速倍数的加速触发指令传输进游戏中,促使游戏加速。
[0013]值得指出的是,在先一次输入的加速触发指令可以保存,在游戏下次再启动时,可以直接载入加速触发指令,得到加速倍数,直接对游戏进行加速。
[0014]102、拦截时间应用程序编程接口(API, Applicat1n Programming Interface)。
[0015]时间API用于计算应用程序时间,将时间API的地址指向预先设置的自定义API的地址,即可根据自定义API更改返回值,从而操控系统时间。
[0016]在一种实施例中,时间API可以是GetTickCount、timeGetTime和QueryPerformanceCounter 等函数。
[0017]请一并参阅图2,在步骤102之前,通常应预先设置好自定义API的函数,以便游戏需要加速时进行调用,可以包括以下步骤:
104、注入与游戏的数据位宽对应的动态链接库(DLL, Dynamic Link Library),将预先设置的自定义API的函数封装在DLL中。此时,将时间API的地址指向自定义API,相当于调用了新的函数,通过获取新的函数的值可以修改时间API的返回值,从而控制改变游戏时间,起到对游戏加速的效果。具体的:对32位游戏注入32位DLL,或者,对64位游戏注入64位DLL。
[0018]通过预先设置DLL的方式,不仅可以对32位游戏进行加速,还可以对64位游戏进行加速,解决了现有技术不能对64位游戏加速的技术缺陷。
[0019]103.根据加速倍数从预先设置的自定义API接口获取返回值,以对游戏进行加速。
[0020]请一并参阅图3,一个优选的实施例中,步骤103具体可以用以下方式实现:
103a、将加速倍数输入到DLL中,计算出自定义API的函数的值。
[0021]103b、将自定义API的函数的值反馈至时间API,作为所述时间API的返回值,所述时间API的返回值大于或等于拦截前所述时间API的返回值。
所述时间API为至少一个,在执行步骤103时,还可以包括步骤:103c、对每个时间API的内部数据进行互斥判断,使得每次获取一个时间API的返回值。使得同一时间对时间API的内部数据访问一次,降低API返回值出现错误的概率,进而减少游戏进程卡死的现象发生。
[0022]现有技术在对游戏加速持续几个小时后,可能出现游戏内部时间错乱的问题,导致游戏进程卡死,不能继续游戏,大大降低了用户体验。本申请方法添加互斥判断的步骤,可以对游戏持续不间断地加速,使得游戏在加速的情况下也能正常运行。
[0023]下面对本申请的游戏加速方法的原理进行阐述:
本实施例以与游戏软件相关的3个时间API举例,3个时间API分别为GetTickCount、timeGetTime和QueryPerformanceCounter。通过拦截系统时间API,更改时间API的返回值,就能更改游戏时间,达到对游戏加速的目的。
[0024]通过下述算法得到自定义API的值,反馈给上述3个时间API,作为时间API的返回值,自定义API的函数的算法如下:
API的返回值=上次返回时间+ (当前返回时间-上次返回时间)*加速倍数更改加速倍数的值,就能实现加速功能,测试案例:
假设加速倍数等于I,返回值一直是当前返回值,这样就不会有加速效果;
假设加速倍数取值大于等于2,返回值必定大于或等于加速倍数为一倍时的值,就起到加速效果。
[0025]本申请实施例一提供的游戏加速方法,接收用户界面输入的
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1