基于Unity3D的游戏窗口匹配处理方法及系统与流程

文档序号:11466544阅读:338来源:国知局
基于Unity3D的游戏窗口匹配处理方法及系统与流程

本发明涉及游戏开发领域,尤其涉及基于unity3d的游戏窗口匹配处理方法及系统。



背景技术:

随着信息技术的迅猛发展,电子游戏的种类也越来越多,伴随而来的游戏玩家也日渐增加。为满足游戏玩家的游戏体验要求,具有游戏辅助功能的软件也越来越多。其中,游戏辅助功能包括截图、游戏窗口隐藏、清理内存、查看cpu温度等功能。

目前,市面上的客户端游戏应用种类众多,其中,大多数游戏应用支持游戏应用辅助功能,例如,支持游戏窗口隐藏功能。然而,每一款游戏应用都配置有各自的游戏窗口隐藏快捷键,使得针对不同游戏应用,都需要首先获取与该游戏应用对应的特定窗口功能快捷键,才能执行对该游戏窗口的相应操作,从而造成对游戏窗口的操作效率较低。

因此,现有技术中的缺陷是,针对不同的游戏应用,都需要首先获取与该游戏应用对应的特定窗口功能快捷键,才能执行对该游戏窗口的相应操作,使窗口管理繁琐,操作效率低,影响游戏开发的稳定性和用户体验。



技术实现要素:

针对上述技术问题,本发明提供一种基于unity3d的游戏窗口匹配处理方法及系统,采用了基于unity预制件生成的预设映射表,进行窗口的匹配操作,通过匹配条件直接通过预置的同一个快捷键对不同游戏应用窗口执行相应功能操作,从而提高了对游戏窗口的处理效率,提供更好的用户游戏体验。

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

第一方面,本发明提供一种基于unity3d的游戏窗口匹配处理方法,包括:

步骤s1,获取预设映射表,所述预设映射表中存储不同游戏应用id分别对应的进程名和窗口类名,所述预设映射表基于unity预制件生成;

步骤s2,获取游戏应用的启动命令,根据所述游戏应用得到对应的当前进程名;

步骤s3,从所述预设映射表中获取与所述当前进程名对应的游戏应用id,及所述游戏应用id对应的进程名和窗口类名;

步骤s4,判断当前界面运行的游戏应用对应的进程名和窗口类名是否与所述游戏应用id对应的进程名和窗口类名匹配,若匹配,则获取所述当前界面运行的游戏应用对应的窗口句柄;

步骤s5,获取触发消息,所述触发消息通过外部快捷键触发获得;

步骤s6,根据所述触发消息,结合所述当前界面运行的游戏应用对应的窗口句柄,对与所述窗口句柄对应的窗口执行预置操作。

本发明提供的基于unity3d的游戏窗口匹配处理方法,其技术方案为:获取预设映射表,所述预设映射表中存储不同游戏应用id分别对应的进程名和窗口类名,所述预设映射表基于unity预制件生成;获取游戏应用的启动命令,根据所述游戏应用得到对应的当前进程名;从所述预设映射表中获取与所述当前进程名对应的游戏应用id,及所述游戏应用id对应的进程名和窗口类名;判断当前界面运行的游戏应用对应的进程名和窗口类名是否与所述游戏应用id对应的进程名和窗口类名匹配,若匹配,则获取所述当前界面运行的游戏应用对应的窗口句柄;获取触发消息,所述触发消息通过外部快捷键触发获得;根据所述触发消息,结合所述当前界面运行的游戏应用对应的窗口句柄,对与所述窗口句柄对应的窗口执行预置操作。

本发明提供的基于unity3d的游戏窗口匹配处理方法,采用了基于unity预制件生成的预设映射表,进行窗口的匹配操作,通过匹配条件直接通过预置的同一个快捷键对不同游戏应用窗口执行相应功能操作,从而提高了对游戏窗口的处理效率,提供更好的用户游戏体验。

进一步地,所述步骤s1中,所述预设映射表基于unity预制件生成,具体为:

对游戏中的窗口类名进行分类处理,形成多个预制件;

为每个预制件对应设置一个版本号,并为每个游戏应用id设置一个下载地址,所述下载地址与所述版本号一一对应;

将所述多个预制件生成一个预设映射表,所述预设映射表存储服务器中。

进一步地,所述步骤s3中,具体为:

从所述预设映射表中获取与所述当前进程名对应的游戏应用id;

根据所述游戏应用id,获得对应的下载地址及版本号;

根据所述版本号,得到所述版本号对应的预制件;

根据所述预制件,得到对应的窗口类名及进程名。

进一步地,所述触发消息包括画面缩放的触发消息,根据所述画面缩放的触发消息,对与所述窗口句柄对应的窗口执行预置操作,具体为:

获取真实游戏画面的窗口句柄以及显示界面内存数据,所述显示界面内存数据为存放在所述窗口句柄对应的窗口所在游戏画面在显示屏上的位置;

根据所述画面缩放的触发消息,结合所述真实游戏画面的窗口句柄和所述显示界面内存数据,确定并记录缩放后的画面对应于真实游戏画面的缩放位置;

根据所述缩放位置,刷新所述显示屏上的所述游戏画面。

进一步地,所述触发消息还包括画面拖动的触发消息,根据所述画面拖动的触发消息,对与所述窗口句柄对应的窗口执行预置操作,具体为:

根据所述画面拖动的触发消息,结合所述真实游戏画面的窗口句柄和所述显示界面内存数据,确定并记录所述游戏画面的偏移位置;

根据所述偏移位置,刷新所述显示屏上的所述游戏画面。

第二方面,本发明提供了一种基于unity3d的游戏窗口匹配处理系统,包括:

预设映射表获取模块,用于获取预设映射表,所述预设映射表中存储不同游戏应用id分别对应的进程名和窗口类名,所述预设映射表基于unity预制件生成;

游戏应用启动模块,用于获取游戏应用的启动命令,根据所述游戏应用得到对应的当前进程名;

进程名和窗口类名获取模块,用于从所述预设映射表中获取与所述当前进程名对应的游戏应用id,及所述游戏应用id对应的进程名和窗口类名;

窗口句柄获取模块,用于判断当前界面运行的游戏应用对应的进程名和窗口类名是否与所述游戏应用id对应的进程名和窗口类名匹配,若匹配,则获取所述当前界面运行的游戏应用对应的窗口句柄;

触发消息获取模块,用于获取触发消息,所述触发消息通过外部快捷键触发获得;

窗口操作模块,用于根据所述触发消息,结合所述当前界面运行的游戏应用对应的窗口句柄,对与所述窗口句柄对应的窗口执行预置操作。

本发明提供的基于unity3d的游戏窗口匹配处理系统,其技术方案为:通过预设映射表获取模块,获取预设映射表,所述预设映射表中存储不同游戏应用id分别对应的进程名和窗口类名,所述预设映射表基于unity预制件生成;

通过游戏应用启动模块,获取游戏应用的启动命令,根据所述游戏应用得到对应的当前进程名;通过进程名和窗口类名获取模块,从所述预设映射表中获取与所述当前进程名对应的游戏应用id,及所述游戏应用id对应的进程名和窗口类名;通过窗口句柄获取模块,判断当前界面运行的游戏应用对应的进程名和窗口类名是否与所述游戏应用id对应的进程名和窗口类名匹配,若匹配,则获取所述当前界面运行的游戏应用对应的窗口句柄;

通过触发消息获取模块,获取触发消息,所述触发消息通过外部快捷键触发获得;通过窗口操作模块,用于根据所述触发消息,结合所述当前界面运行的游戏应用对应的窗口句柄,对与所述窗口句柄对应的窗口执行预置操作。

本发明提供的基于unity3d的游戏窗口匹配处理系统,采用了基于unity预制件生成的预设映射表,进行窗口的匹配操作,通过匹配条件直接通过预置的同一个快捷键对不同游戏应用窗口执行相应功能操作,从而提高了对游戏窗口的处理效率,提供更好的用户游戏体验。

进一步地,所述预设映射表获取模块中,所述预设映射表基于unity预制件生成,具体用于:

对游戏中的窗口类名进行分类处理,形成多个预制件;

为每个预制件对应设置一个版本号,并为每个游戏应用id设置一个下载地址,所述下载地址与所述版本号一一对应;

将所述多个预制件生成一个预设映射表,所述预设映射表存储服务器中。

进一步地,所述进程名和窗口类名获取模块具体用于:

从所述预设映射表中获取与所述当前进程名对应的游戏应用id;

根据所述游戏应用id,获得对应的下载地址及版本号;

根据所述版本号,得到所述版本号对应的预制件;

根据所述预制件,得到对应的窗口类名及进程名。

进一步地,所述窗口操作模块中,所述触发消息包括画面缩放的触发消息,根据所述画面缩放的触发消息,对与所述窗口句柄对应的窗口执行预置操作,具体用于:

获取真实游戏画面的窗口句柄以及显示界面内存数据,所述显示界面内存数据为存放在所述窗口句柄对应的窗口所在游戏画面在显示屏上的位置;

根据所述画面缩放的触发消息,结合所述真实游戏画面的窗口句柄和所述显示界面内存数据,确定并记录缩放后的画面对应于真实游戏画面的缩放位置;

根据所述缩放位置,刷新所述显示屏上的所述游戏画面。

进一步地,所述窗口操作模块中,所述触发消息还包括画面拖动的触发消息,具体用于:

根据所述画面拖动的触发消息,结合所述真实游戏画面的窗口句柄和所述显示界面内存数据,确定并记录所述游戏画面的偏移位置;

根据所述偏移位置,刷新所述显示屏上的所述游戏画面。

附图说明

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

图1示出了本发明实施例所提供的一种基于unity3d的游戏窗口匹配处理方法的流程图;

图2示出了本发明实施例所提供的一种基于unity3d的游戏窗口匹配处理方法的子流程图;

图3示出了本发明实施例所提供的一种基于unity3d的游戏窗口匹配处理系统的示意图。

具体实施方式

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

实施例一

图1示出了本发明实施例所提供的一种基于unity3d的游戏窗口匹配处理方法的流程图;如图1所示,实施例一提供的一种基于unity3d的游戏窗口匹配处理方法,包括:

步骤s1,获取预设映射表,预设映射表中存储不同游戏应用id分别对应的进程名和窗口类名,预设映射表基于unity预制件生成;

对于本发明实施例,游戏应用启动命令具体可以为用户通过输入用户名和密码登陆游戏应用客户端的操作进行指示的。

步骤s2,获取游戏应用的启动命令,根据游戏应用得到对应的当前进程名;

获取游戏应用对应的进程名具体可以包括:通过驱动监控进程的运行情况,获取到当前运行游戏应用对应的进程名。

步骤s3,从预设映射表中获取与当前进程名对应的游戏应用id,及游戏应用id对应的进程名和窗口类名;

其中,预置映射表可以为预先设置或者为实时配置的,具体可以根据实际需求进行配置,本发明实施例不做限定。该表中保存有不同游戏应用id分别对应的进程名和窗口类名。游戏应用id可以根据实际需求进行自定义,不同游戏对应的游戏应用id互不相同。一个游戏应用id对应多个进程名,一个进程名对应多个窗口类名。

步骤s4,判断当前界面运行的游戏应用对应的进程名和窗口类名是否与游戏应用id对应的进程名和窗口类名匹配,若匹配,则获取当前界面运行的游戏应用对应的窗口句柄;

对于本发明实施例,由于有些游戏窗口类名每次运行会有局部变化,同一个游戏应用通过不同渠道运行时,游戏应用对应的进程名也会不一致,对于符合上述情况的进程名或者窗口类名,可以通过修改预置映射表中进程名或者窗口类名,在进程名或是窗口类名不同的位置通过通配符替换,其中,通配符可以为“*”或“?”等。

例如,预置映射表中某一个游戏应用通过不同渠道运行时,进程名分别为haowan1.exe,haowan2.exe,haowan3.exe,则可以在预置映射表中以进程名haowan*.exe统一表示进程名haowan1.exe,进程名haowan2.exe,进程名hao-wan3.exe,此时如果检测到当前界面运行的应用对应的进程名和窗口类名分别为haowan2.exe和hwwindow,并查找到预置映射表中有进程名haowan*.exe和窗口类名hwwindow的数据,则当前界面运行的应用对应的进程名和窗口类名分别与游戏id对应的进程名和窗口类名匹配是成功的。因此以通配符的形式表示进程名和窗口类名可以减少预置映射表中的数据量,提高游戏辅助功能的运行效率。

若匹配,则获取当前界面运行的游戏应用对应的窗口句柄,例如,获取的当前界面运行的应用对应的进程名和窗口类名分别为:haowan.exe和hwwi-ndow,根据获取到的进程名和窗口类名查找预置映射表中对应的进程名和窗口类名数据,若在预置映射表中查找到进程名为haowan.exe和窗口类名hwwi-ndow,则匹配成功。

步骤s5,获取触发消息,触发消息通过外部快捷键触发获得;

步骤s6,根据触发消息,结合当前界面运行的游戏应用对应的窗口句柄,对与窗口句柄对应的窗口执行预置操作。

对于本发明实施例,预置快捷键可以由用户根据实际需求进行配置,例如,将预置快捷键配置为回车键、某一个数字按键、某一个字母按键等。对预置快捷键的触发指令具体可以为对预置快捷键点击或者触击预置次数。预置操作具体可以为执行游戏应用运行的辅助功能,例如,对当前游戏应用窗口进行隐藏或显示,对当前游戏应用窗口进行截图操作等,本发明实施例不做限定。

本发明提供的基于unity3d的游戏窗口匹配处理方法,获取预设映射表,预设映射表中存储不同游戏应用id分别对应的进程名和窗口类名,预设映射表基于unity预制件生成;获取游戏应用的启动命令,根据游戏应用得到对应的当前进程名;从预设映射表中获取与当前进程名对应的游戏应用id,及游戏应用id对应的进程名和窗口类名;判断当前界面运行的游戏应用对应的进程名和窗口类名是否与游戏应用id对应的进程名和窗口类名匹配,若匹配,则获取当前界面运行的游戏应用对应的窗口句柄;获取触发消息,触发消息通过外部快捷键触发获得;根据触发消息,结合当前界面运行的游戏应用对应的窗口句柄,对与窗口句柄对应的窗口执行预置操作。

本发明提供的基于unity3d的游戏窗口匹配处理方法,采用了基于unity预制件生成的预设映射表,进行窗口的匹配操作,通过匹配条件直接通过预置的同一个快捷键对不同游戏应用窗口执行相应功能操作,从而提高了对游戏窗口的处理效率,提供更好的用户游戏体验。

优选地,参见图2,步骤s1中,预设映射表基于unity预制件生成,具体为:

对游戏中的窗口类名进行分类处理,形成多个预制件;

为每个预制件对应设置一个版本号,并为每个游戏应用id设置一个下载地址,下载地址与版本号一一对应;

将多个预制件生成一个预设映射表,预设映射表存储服务器中。

采用了将窗口类名分成多个预制件,为每个预制件对应设置版本号及下载地址,将上述预制件生成预设映射表,便于游戏开发者进行调用。

优选地,步骤s3中,具体为:

从预设映射表中获取与当前进程名对应的游戏应用id;

根据游戏应用id,获得对应的下载地址及版本号;

根据版本号,得到版本号对应的预制件;

根据预制件,得到对应的窗口类名及进程名。

在进行窗口类名及进程名的查找时,由于每个预制件对应的版本号是唯一的,因此在进行窗口类名对应的资源加载过程中,不会出现重复加载的现象,且将上述预制件生成预设映射表,从预设映射表中获取与当前进程名对应的游戏应用id,及游戏应用id对应的进程名和窗口类名时,搜索速度更快,搜索结果更准确。

优选地,触发消息包括画面缩放的触发消息,根据画面缩放的触发消息,对与窗口句柄对应的窗口执行预置操作,具体为:

获取真实游戏画面的窗口句柄以及显示界面内存数据,显示界面内存数据为存放在窗口句柄对应的窗口所在游戏画面在显示屏上的位置;

根据画面缩放的触发消息,结合真实游戏画面的窗口句柄和显示界面内存数据,确定并记录缩放后的画面对应于真实游戏画面的缩放位置;

根据缩放位置,刷新显示屏上的游戏画面。

根据用户发出的触发消息,进行对游戏换面进行画面缩放处理,刷新后显示屏上显示的游戏画面中得到的缩放的图片由于是真实游戏画面的按比例缩小图片,不会出现现有技术中因缩放而导致的图片显示不全或重叠的现象。且根据输入的外部触发消息进行自由缩放,且在缩小时可在小窗体内显示完整的页游界面。提高了用户体验。

在windows中,句柄是一个系统内部数据结构的引用。例如当用户操作一个窗口,系统会给你一个该窗口的句柄,系统会通知你:你正在操作124号窗口,就此用户的应用程序就能要求系统对124号窗口进行操作一一移动窗口、改变窗口大小、把窗口极小化为图标等。换句话说,句柄是一种内部代码,通过它能引用受系统控制的特殊元素,如窗口、位图、图标、内存块、光标、字体、菜单等。

本实施例中,外部触发消息与引起画面缩放的操作相关,该消息的触发方式包括鼠标左右键点击、双击、移动、滚轮转动、键盘输入等。本实施例中涉及的画面缩放包括几种情形,即(1)在屏幕上提示用户可用滚轮缩放游戏画面;(2)在屏幕上提示用户可按住鼠标拖动游戏画面;(3)正常缩小后的游戏画面,可显示游戏完整画面,如果觉得画面比较小,操作困难,也可随时放大游戏画面,随意放到游戏实际画面任意小于等于1倍数;(4)正常游戏画面,可显示某一部分游戏画面,但可通过右键拖动来显示其他未完全显示的游戏画面。

具体地,根据外部触发消息计算缩放比例,得到并记录缩放位置。记录各窗口句柄以及显示界面内存数据的目的是为了后面在进行缩放、拖动等操作时,可以根据所记录的内容进行相应的运算以得到准确的位置信息。

优选地,还包括定时读取显示屏显示游戏画面的当前位置,根据读取到的数据刷新显示屏上显示的游戏画面。

可通过自动定时(例如每隔150毫秒)读取屏幕显示游戏画面的窗体的当前位置,根据读取到的数据刷新显示屏上的屏幕显示游戏画面窗体,保证游戏画面的实时更新,使游戏画面运行更通畅,提高用户体验。

优选地,触发消息还包括游戏操作的触发消息,根据画面拖动的触发消息,对与窗口句柄对应的窗口执行预置操作,具体为:

根据接收到的关于游戏操作的触发消息,执行相应的游戏操作;

同步在显示屏上的游戏画面中显示的执行结果。

根据不同种类的触发消息,实现对游戏窗口的操作,满足不同用户的需求,同时,便于游戏开发者进行游戏开发。

优选地,触发消息包括通过鼠标左键点击、鼠标右键点击、鼠标双击、鼠标移动、鼠标滚轮转动或键盘输入的消息。还包括用户自定义的键盘操作。满足不同用户的需求,提高用户体验。

基于实施例一的基础上,触发消息还包括画面拖动的触发消息,方法还包括:

根据画面拖动的触发消息,结合真实游戏画面的窗口句柄和显示界面内存数据,确定并记录游戏画面的偏移位置;

根据偏移位置,刷新显示屏上的游戏画面。

基于上述画面缩放的处理方法,进行相应的画面拖动处理,根据画面拖动的触发消息,结合真实游戏画面的窗口句柄和显示界面内存数据,计算得到游戏换面的偏移位置,然后进行页面的刷新,就实现了窗口的拖动,提高用户体验。

参见图3,本发明还提供了一种基于unity3d的游戏窗口匹配处理系统10,包括:

预设映射表获取模块101,用于获取预设映射表,预设映射表中存储不同游戏应用id分别对应的进程名和窗口类名,预设映射表基于unity预制件生成;

对于本发明实施例,游戏应用启动命令具体可以为用户通过输入用户名和密码登陆游戏应用客户端的操作进行指示的。

游戏应用启动模块102,用于获取游戏应用的启动命令,根据游戏应用得到对应的当前进程名;

获取游戏应用对应的进程名具体可以包括:通过驱动监控进程的运行情况,获取到当前运行游戏应用对应的进程名。

进程名和窗口类名获取模块103,用于从预设映射表中获取与当前进程名对应的游戏应用id,及游戏应用id对应的进程名和窗口类名;

其中,预置映射表可以为预先设置或者为实时配置的,具体可以根据实际需求进行配置,本发明实施例不做限定。该表中保存有不同游戏应用id分别对应的进程名和窗口类名。游戏应用id可以根据实际需求进行自定义,不同游戏对应的游戏应用id互不相同。一个游戏应用id对应多个进程名,一个进程名对应多个窗口类名。

窗口句柄获取模块104,用于判断当前界面运行的游戏应用对应的进程名和窗口类名是否与游戏应用id对应的进程名和窗口类名匹配,若匹配,则获取当前界面运行的游戏应用对应的窗口句柄;

对于本发明实施例,由于有些游戏窗口类名每次运行会有局部变化,同一个游戏应用通过不同渠道运行时,游戏应用对应的进程名也会不一致,对于符合上述情况的进程名或者窗口类名,可以通过修改预置映射表中进程名或者窗口类名,在进程名或是窗口类名不同的位置通过通配符替换,其中,通配符可以为“*”或“?”等。

例如,预置映射表中某一个游戏应用通过不同渠道运行时,进程名分别为haowan1.exe,haowan2.exe,haowan3.exe,则可以在预置映射表中以进程名hao-wan*.exe统一表示进程名haowan1.exe,进程名haowan2.exe,进程名haowan-3.exe,此时如果检测到当前界面运行的应用对应的进程名和窗口类名分别为haowan2.exe和hwwindow,并查找到预置映射表中有进程名haowan*.exe和窗口类名hwwindow的数据,则当前界面运行的应用对应的进程名和窗口类名分别与游戏id对应的进程名和窗口类名匹配是成功的。因此以通配符的形式表示进程名和窗口类名可以减少预置映射表中的数据量,提高游戏辅助功能的运行效率。

若匹配,则获取当前界面运行的游戏应用对应的窗口句柄,例如,获取的当前界面运行的应用对应的进程名和窗口类名分别为:haowan.exe和hwwind-ow,根据获取到的进程名和窗口类名查找预置映射表中对应的进程名和窗口类名数据,若在预置映射表中查找到进程名为haowan.exe和窗口类名hwwind-ow,则匹配成功。

触发消息获取模块105,用于获取触发消息,触发消息通过外部快捷键触发获得;

窗口操作模块106,用于根据触发消息,结合当前界面运行的游戏应用对应的窗口句柄,对与窗口句柄对应的窗口执行预置操作。

对于本发明实施例,预置快捷键可以由用户根据实际需求进行配置,例如,将预置快捷键配置为回车键、某一个数字按键、某一个字母按键等。对预置快捷键的触发指令具体可以为对预置快捷键点击或者触击预置次数。预置操作具体可以为执行游戏应用运行的辅助功能,例如,对当前游戏应用窗口进行隐藏或显示,对当前游戏应用窗口进行截图操作等,本发明实施例不做限定。

本发明提供的基于unity3d的游戏窗口匹配处理系统10,通过预设映射表获取模块101,获取预设映射表,预设映射表中存储不同游戏应用id分别对应的进程名和窗口类名,预设映射表基于unity预制件生成;

通过游戏应用启动模块102,获取游戏应用的启动命令,根据游戏应用得到对应的当前进程名;通过进程名和窗口类名获取模块103,从预设映射表中获取与当前进程名对应的游戏应用id,及游戏应用id对应的进程名和窗口类名;通过窗口句柄获取模块104,判断当前界面运行的游戏应用对应的进程名和窗口类名是否与游戏应用id对应的进程名和窗口类名匹配,若匹配,则获取当前界面运行的游戏应用对应的窗口句柄;

通过触发消息获取模块105,获取触发消息,触发消息通过外部快捷键触发获得;通过窗口操作模块106,用于根据触发消息,结合当前界面运行的游戏应用对应的窗口句柄,对与窗口句柄对应的窗口执行预置操作。

本发明提供的基于unity3d的游戏窗口匹配处理系统10,采用了基于unity预制件生成的预设映射表,进行窗口的匹配操作,通过匹配条件直接通过预置的同一个快捷键对不同游戏应用窗口执行相应功能操作,从而提高了对游戏窗口的处理效率,提供更好的用户游戏体验。

优选地,预设映射表获取模块101中,预设映射表基于unity预制件生成,具体用于:

对游戏中的窗口类名进行分类处理,形成多个预制件;

为每个预制件对应设置一个版本号,并为每个游戏应用id设置一个下载地址,下载地址与版本号一一对应;

将多个预制件生成一个预设映射表,预设映射表存储服务器中。

采用了将窗口类名分成多个预制件,为每个预制件对应设置版本号及下载地址,将上述预制件生成预设映射表,便于游戏开发者进行调用。

优选地,进程名和窗口类名获取模块103具体用于:

从预设映射表中获取与当前进程名对应的游戏应用id;

根据游戏应用id,获得对应的下载地址及版本号;

根据版本号,得到版本号对应的预制件;

根据预制件,得到对应的窗口类名及进程名。

优选地,窗口操作模块106中,触发消息包括画面缩放的触发消息,根据画面缩放的触发消息,对与窗口句柄对应的窗口执行预置操作,具体用于:

获取真实游戏画面的窗口句柄以及显示界面内存数据,显示界面内存数据为存放在窗口句柄对应的窗口所在游戏画面在显示屏上的位置;

根据画面缩放的触发消息,结合真实游戏画面的窗口句柄和显示界面内存数据,确定并记录缩放后的画面对应于真实游戏画面的缩放位置;

根据缩放位置,刷新显示屏上的游戏画面。

根据用户发出的触发消息,进行对游戏换面进行画面缩放处理,刷新后显示屏上显示的游戏画面中得到的缩放的图片由于是真实游戏画面的按比例缩小图片,不会出现现有技术中因缩放而导致的图片显示不全或重叠的现象。且根据输入的外部触发消息进行自由缩放,且在缩小时可在小窗体内显示完整的页游界面。提高了用户体验。

在windows中,句柄是一个系统内部数据结构的引用。例如当用户操作一个窗口,系统会给你一个该窗口的句柄,系统会通知你:你正在操作124号窗口,就此用户的应用程序就能要求系统对124号窗口进行操作一一移动窗口、改变窗口大小、把窗口极小化为图标等。换句话说,句柄是一种内部代码,通过它能引用受系统控制的特殊元素,如窗口、位图、图标、内存块、光标、字体、菜单等。

本实施例中,外部触发消息与引起画面缩放的操作相关,该消息的触发方式包括鼠标左右键点击、双击、移动、滚轮转动、键盘输入等。本实施例中涉及的画面缩放包括几种情形,即(1)在屏幕上提示用户可用滚轮缩放游戏画面;(2)在屏幕上提示用户可按住鼠标拖动游戏画面;(3)正常缩小后的游戏画面,可显示游戏完整画面,如果觉得画面比较小,操作困难,也可随时放大游戏画面,随意放到游戏实际画面任意小于等于1倍数;(4)正常游戏画面,可显示某一部分游戏画面,但可通过右键拖动来显示其他未完全显示的游戏画面。

具体地,根据外部触发消息计算缩放比例,得到并记录缩放位置。记录各窗口句柄以及显示界面内存数据的目的是为了后面在进行缩放、拖动等操作时,可以根据所记录的内容进行相应的运算以得到准确的位置信息。

基于实施例一的基础上,优选地,窗口操作模块106中,触发消息还包括画面拖动的触发消息,具体用于:

根据画面拖动的触发消息,结合真实游戏画面的窗口句柄和显示界面内存数据,确定并记录游戏画面的偏移位置;

根据偏移位置,刷新显示屏上的游戏画面。

基于上述画面缩放的处理方法,进行相应的画面拖动处理,根据画面拖动的触发消息,结合真实游戏画面的窗口句柄和显示界面内存数据,计算得到游戏换面的偏移位置,然后进行页面的刷新,就实现了窗口的拖动,提高用户体验。

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

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