虚拟控件的显示方法、装置、存储介质和电子装置与流程

文档序号:18897571发布日期:2019-10-18 21:29阅读:222来源:国知局
虚拟控件的显示方法、装置、存储介质和电子装置与流程

本发明涉及数据处理领域,具体而言,涉及一种虚拟控件的显示方法、装置、存储介质和电子装置。



背景技术:

目前,模拟器上通常以按键配置表的方式来向应用的运行画面上添加虚拟控件。在这些虚拟控件配置好之后,会以小图标的形式一直显示在应用的界面上。

在上述方法中,当应用可支持较多操作行为时,为了响应这些操作行为,会添加较多的虚拟控件的图标,而一些虚拟控件只有在特定的场景下才会起作用,却也会一直占运行画面的位置,在其它场景下,就为多余虚拟控件。这样大量的图标会一直显示在游戏应用的运行画面中,而不能按需显示在应用的运行画面中,从而影响运行画面的主要内容的显示。

针对现有技术中虚拟控件不能按需显示在应用的运行画面的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明的主要目的在于提供一种虚拟控件的显示方法、装置、存储介质和电子装置,以至少解决虚拟控件不能按需显示在应用的运行画面中的技术问题。

为了实现上述目的,根据本发明的一个方面,提供了一种虚拟控件的显示方法。该方法应用于模拟器,包括:检测到目标应用的第一运行画面;确定第一运行画面中存在第一目标对象,获取至少一虚拟控件中与第一目标对象关联的至少一目标虚拟控件;控制至少一目标虚拟控件显示在第一运行画面中。

可选地,检测到目标应用的第一运行画面的步骤之前,还包括:获取目标应用对应的至少一控件方案,并控制隐藏控件方案包含的至少一虚拟控件,其中,目标应用为模拟器当前运行的应用。

可选地,预先根据目标应用的运行画面生成与第一目标对象对应的第一目标图像,确定第一运行画面中存在第一目标对象的步骤,包括:当第一运行画面与第一目标图像匹配成功时,确定第一运行画面中存在第一目标对象。

可选地,在第一运行画面与第一目标对象匹配成功的步骤之前,还包括:获取目标应用的多个目标对象,其中,每个目标对象关联有至少一虚拟控件;确定第一运行画面与第一目标图像匹配成功的步骤,包括:将第一运行画面与每个目标对象对应的目标图像进行比对确定多个相似度;当多个相似度中存在满足第一阈值的目标相似度时,确定第一运行画面与第一目标图像匹配成功。

可选地,目标图像至少包括如下一种:目标图像为与目标应用的运行画面中的至少部分画面对应的画面;目标图像为根据目标应用的运行画面中的至少部分画面生成的图像特征码。

可选地,在检测到目标应用的第一运行画面的步骤之前,还包括:从目标应用的多个运行画面中,获取每个运行画面中的至少部分画面;将每个运行画面中的至少部分画面发送至服务器,其中,与每个运行画面中的至少部分画面对应的画面由服务器确定为目标图像,或者根据第一运行画面中的至少部分画面生成的图像特征码由服务器确定为目标图像。

可选地,在将第一运行画面与每个目标对象对应的目标图像进行比对确定多个相似度的步骤之前,该方法还包括:从与目标应用对应的目标插件中,获取与每个目标对象对应的目标图像。

可选地,该方法还包括:获取与目标应用对应的目标文件;将目标文件中存储的插件标识所指示的插件,确定为目标插件。

可选地,目标文件还用于存储每个目标对象关联的至少一虚拟控件,获取至少一虚拟控件中与第一目标对象关联的至少一目标虚拟控件的步骤,包括:从目标文件中,获取至少一目标虚拟控件。

可选地,在从与目标应用对应的目标插件中,获取与每个目标对象对应的目标图像的步骤之前,该方法还包括:确定目标插件的信息与目标应用的信息相匹配,确定目标应用支持目标插件,并向目标应用安装目标插件。

可选地,该方法还包括:获取目标插件的升级信息,且按照升级信息对目标插件进行升级。

可选地,在以下之一情况下,确定目标插件的信息与目标应用的信息相匹配:获取到目标插件的信息;安装目标应用;启动目标应用。

可选地,获取目标应用的多个目标对象的步骤,包括:从本地获取目标应用的多个目标对象;获取至少一虚拟控件中与第一目标对象关联的至少一目标虚拟控件的步骤,包括:从本地获取至少一目标虚拟控件。

可选地,在控制至少一目标虚拟控件显示在第一运行画面中的步骤之后,还包括:检测到目标应用的第二运行画面;确定第二运行画面不存在第一目标对象,控制至少一目标虚拟控件在第二运行画面中隐藏。

可选地,获取至少一虚拟控件中与第一目标对象关联的至少一目标虚拟控件的步骤,包括:获取优先级大于第二阈值的至少一目标虚拟控件。

可选地,该方法还包括:获取目标位置信息,其中,目标位置信息用于指示第一运行画面中的目标位置;控制至少一目标虚拟控件显示在第一运行画面中包括:控制至少一目标虚拟控件显示在目标位置。

为了实现上述目的,根据本发明的一个方面,还提供了一种虚拟控件的显示方法。该方法应用于模拟器,获取客户端发送的目标应用的第一运行画面;确定第一运行画面中存在第一目标对象,向客户端发送显示信号,第一目标对象与至少一虚拟控件中的至少一目标虚拟控件相关联,显示信号用于控制至少一目标虚拟控件显示在第一运行画面中。

为了实现上述目的,根据本发明的一个方面,还提供了一种虚拟控件的显示装置。该装置应用于模拟器,包括:检测单元,用于检测到目标应用的第一运行画面;第一处理单元,用于确定第一运行画面中存在第一目标对象匹配成功,获取至少一虚拟控件中与第一目标对象关联的至少一目标虚拟控件;显示单元,用于控制至少一目标虚拟控件显示在第一运行画面中。

为了实现上述目的,根据本发明的一个方面,还提供了一种虚拟控件的显示装置。该装置应用于模拟器,包括:获取单元,用于获取客户端发送的目标应用的第一运行画面;第二处理单元,用于确定第一运行画面中存在第一目标对象,向客户端发送显示信号,第一目标对象与至少一虚拟控件中的至少一目标虚拟控件相关联,显示信号用于控制至少一目标虚拟控件显示在第一运行画面中。

为了实现上述目的,根据本发明的一个方面,还提供了一种存储介质。该存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行本发明实施例的虚拟控件的显示方法。

为了实现上述目的,根据本发明的一个方面,还提供了一种电子装置。该电子装置包括存储器和处理器,该存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行本发明实施例的虚拟控件的显示方法。

本发明实施例的虚拟控件的显示方法,应用于模拟器,检测到目标应用的第一运行画面;确定第一运行画面中存在与第一目标对象匹配成功,获取至少一虚拟控件中与第一目标对象关联的至少一目标虚拟控件;控制至少一目标虚拟控件显示在第一运行画面中。也就是说,在目标应用的第一运行画面与预先设置的第一目标图元匹配成功时,才将至少一虚拟控件显示在第一运行画面中,从而避免了将虚拟控件一直显示在应用的运行画面,解决了虚拟控件不能按需显示在应用的运行画面中的技术问题,达到了虚拟控件按需显示在应用的运行画面中的技术效果。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的一种虚拟控件的显示方法的移动终端的硬件结构框图;

图2是根据本发明实施例的一种虚拟控件的显示方法的流程图;

图3是根据本发明实施例的另一种虚拟控件的显示方法的流程图;

图4是根据本发明实施例的一种按键显示的结构示意图;

图5是根据本发明实施例的一种按键的显示方法的流程图;

图6是根据本发明实施例的一种插件升级的方法的流程图;

图7是根据本发明实施例的一种虚拟控件的显示装置的示意图;以及

图8是根据本发明实施例的另一种虚拟控件的显示装置的示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行,还可以在服务器上执行。以运行在移动终端上为例,图1是本发明实施例的一种虚拟控件的显示方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输装置106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种数据处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种运行于上述移动终端的一种虚拟控件的显示方法,应用于模拟器,该模拟器可以是支持移动终端的操作系统运行在个人计算机(personalcomputer,简称为pc)上的模拟软件,其中,操作系统可以为安卓(android)系统。通过上述模拟器,可以实现在pc上运行移动终端上的应用。下面从客户端一侧对本发明实施例的虚拟控件的显示方法进行介绍。

图2是根据本发明实施例的一种虚拟控件的显示方法的流程图。如图2所示,该流程包括如下步骤:

步骤s202,检测到目标应用的第一运行画面。

在本发明上述步骤s202提供的技术方案中,目标应用为需要按需显示虚拟控件的应用,可以为游戏应用、音乐应用、视频应用等,此处不做限制。该实施例的目标应用在运行过程中,会呈现不同的运行画面,该运行画面为目标应用运行的每一帧画面,可以为一幅图片。

检测到目标应用的第一运行画面,可以通过预先设定的目标扫描频率实时扫描目标应用的第一运行画面。其中,目标扫描频率在不同目标应用上是不一样的,在设置目标扫描频率时,需要考虑目标应用的类型,比如,激烈对抗型的游戏应用,对于中央处理器(centralprocessingunit/processor,简称为cpu)和图形处理器(graphicsprocessingunit,简称为gpu)的消耗比较高,在设置目标扫描时,会适当降低目标扫描频率,否则,可以稍微提高目标扫描频率。可选地,目标应用为游戏应用,则经验值15hz可以满足大部分游戏应用的需求,对于30hz以上,用户基本感觉不到虚拟控件的图标的显示或隐藏有延迟,最高可以采用与游戏应用的运行画面的帧率相同的目标扫描频率对运行画面进行扫描,这种情况较少出现,但对于某些游戏行为变化特别快的游戏,提高目标扫描帧率,会有较好的体验效果,但会更占用更计算机资源,因而,为了保障目标应用的整体性能以及用户体验之间的平衡,需要针对不同的目标应用确定不同的目标扫描频率。

步骤s204,确定第一运行画面中存在第一目标对象,获取至少一虚拟控件中与第一目标对象关联的至少一目标虚拟控件。

在本发明上述步骤s204提供的技术方案中,在检测到目标应用的第一运行画面之后,确定第一运行画面中是否存在第一目标对象,如果确定第一运行画面中存在第一目标对象,则获取至少一虚拟控件中与第一目标对象关联的至少一目标虚拟控件。

在该实施例中,第一目标对象为用于与第一运行画面进行匹配的匹配对象,以确定在第一运行画面中待显示的目标虚拟控件,可以为在第一运行画面中触发所表现出来的操作行为,比如,目标应用为游戏应用,则第一目标对象可以为在游戏画面中触发所表现出来的游戏行为,比如,为使用游戏技能的行为等。

该实施例将第一运行画面与第一目标对象进行匹配,也即,确定目标应用运行到第一运行画面时,是否对应了触发第一目标对象。可选地,该实施例通过图像识别的原理,获取第一运行画面与第一目标对象对应的图像之间的相似度,在相似度大于一定阈值的情况下,确定第一运行画面与第一目标对象匹配成功。可选地,将第一运行画面划分为多个子运行画面,将每个子运行画面与第一目标对象对应的图像相减,产生结果图,该结果图可以以绝对值的方式表示,如果绝对值在某个区间内,则确定第一运行画面与第一目标对象匹配成功,也即,第一运行画面命中了第一目标对象。

在确定第一运行画面中存在第一目标对象的情况下,获取至少一虚拟控件中与第一目标对象关联的至少一目标虚拟控件。其中,目标虚拟控件用于在目标应用运行到第一运行画面时,在第一运行画面中响应第一目标对象对应的目标操作,该目标操作也即用户操作,从而执行与第一运行画面相关的目标功能,其中,虚拟控件可以为虚拟按键、虚拟摇杆、虚拟手柄等,此处不做任何限制,可以在目标应用的运行画面中作为快捷键使用,其中,目标操作可以为单击操作、双击操作、滑动操作等,此处不做限制,目标功能可以为应用运行过程中与用户进行交互的功能。由于并不是至少一虚拟控件的所有虚拟控件都一直在目标应用的运行画面中使用到,而是在确定第一运行画面中存在与第一目标对象的情况下,获取至少一目标虚拟控件,从而实现按需获取虚拟控件的目的。

需要说明的是,该实施例的目标虚拟控件的数量可以是一个,也可以是多个,需要根据与第一运行画面匹配的第一目标对象的数量来确定,不同的第一目标对象可以对应同一个目标虚拟控件,不同的目标虚拟控件也可以对应同一个第一目标对象。

步骤s206,控制至少一目标虚拟控件显示在第一运行画面中。

在本发明上述步骤s206提供的技术方案中,在获取至少一虚拟控件中与第一目标对象关联的至少一目标虚拟控件,控制至少一目标虚拟控件显示在第一运行画面中。

在该实施例中,在获取至少一虚拟控件中与第一目标对象关联的至少一目标虚拟控件之后,可以发送第一运行画面命中第一目标对象的信号,经模拟器的shell层过滤和解析该信号,其中包括确定信号的类型,该信号的类型包括显示目标虚拟控件的信号,包含了目标虚拟控件的键值,需要显示的目标虚拟控件的个数,目标虚拟控件的位置坐标等;可选地,如果第一运行画面没有命中第一目标对象,且第一运行画面显示有其它的虚拟控件,则该信号可以是包括需要隐藏其它的虚拟控件的信号,其中包含了需要隐藏的虚拟控件的键值,需要隐藏的虚拟控件的个数等。

在经模拟器的shell层过滤和解析信号之后,可以在获取到第一目标对象关联的至少一目标虚拟控件之后,控制至少一目标虚拟控件显示在第一运行画面中,比如,控制每个虚拟控件的图标同时显示在第一运行画面中。至少一目标虚拟控件在第一运行画面中的显示位置可以预先确定,该显示位置也决定了第一目标对应对应的目标操作的位置。可选地,该实施例的虚拟控件在第一运行画面中的显示位置可以是固定的,也可以是移动的。

作为一种可选的实施方式,在检测到目标应用的第一运行画面的步骤之前,还包括:获取目标应用对应的至少一控件方案,并控制隐藏控件方案包含的至少一虚拟控件,其中,目标应用为模拟器当前运行的应用。

在该实施例中,可以为目标应用预先设置有至少一控件方案,该控件方案中包括了目标应用在运行的过程中所需要显示的至少一虚拟控件以及与该至少一虚拟控件相关的信息,其中,包括了在第一运行画面中存在与第一目标对象匹配成功的情况下,需要显示的上述至少一目标虚拟控件,可以通过列表进行存储,该列表可以设置在目标应用的配置表中,该配置表可以存储在服务器中,从而该实施例的控件方案也可以称为云键鼠方案、云方案。

可选地,该实施例的至少一控件方案也可以是临时生成的,比如,在目标应用启动之后,可以根据目标应用的运行情况以及用户需求来确定哪些虚拟控件是需要按需显示的,从而可以通过该按需显示的虚拟控件以及与其相关联的目标对象的信息临时生成上述控件方案。

在该实施例中,在至少一控件方案有多个的情况下,多个控件方案是有优先级的,也即,各个控件方案在目标应用上使用的先后顺序,该优先级也可以进行预先设置。

在检测到目标应用的第一运行画面的步骤之前,获取目标应用对应的至少一控件方案,可以将至少一控件方案载入到目标应用中,并控制对控件方案包含的至少一虚拟控件进行隐藏,而不是一开始就显示在目标应用的界面上,从而在检测到目标应用的第一运行画面时,再确定是否对至少一虚拟控件中的至少一目标虚拟控件进行显示,从而避免了将虚拟控件一直显示在应用的运行画面中,达到了虚拟控件按需显示在应用的运行画面中的技术效果。

作为一种可选的实施方式,预先根据目标应用的运行画面生成与第一目标对象对应的第一目标图像,确定第一运行画面中存在第一目标对象的步骤,包括:当第一运行画面与第一目标图像匹配成功时,确定第一运行画面中存在第一目标对象。

在该实施例中,第一运行画面中存在与第一目标对象匹配成功的情况,可以为第一运行画面与第一目标对象对应的第一目标图像匹配成功,该第一目标图像可以为需要响应第一目标对象的图标,比如,第一目标对象为开火行为,则第一目标图像为响应该开火行为的图标,还可以为用于制作与第一目标对象相关联的至少一目标虚拟控件的面板,比如,为需要制作成按键快捷键的游戏行为面板。该实施例可以预先根据目标应用的运行画面生成与第一目标对象对应的第一目标图像,比如,从目标应用的运行画面中预先获取到关键图元,将其确定为第一目标图像,还可以预先从目标应用的运行画面中获取到图标,将该图标确定为第一目标图像。

作为一种可选的实施方式,在第一运行画面与第一目标对象匹配成功的步骤之前,还包括:获取目标应用的多个目标对象,其中,每个目标对象关联有至少一虚拟控件;确定第一运行画面与第一目标图像匹配成功的步骤,包括:将第一运行画面与每个目标对象对应的目标图像进行比对确定多个相似度;当多个相似度中存在满足第一阈值的目标相似度时,确定第一运行画面与第一目标图像匹配成功。

在该实施例中,在目标应用运行的过程中,可以具有多个目标对象,每个目标对象具有对应的目标图像,用于与目标应用的运行画面进行匹配,并且每个目标对象都都关联有至少一虚拟控件。

在将第一运行画面与第一目标图像进行匹配时,需要获取目标应用的多个目标对象,该多个目标图像可以为多个图元,可以预先从目标应用的运行画面中通过截图获取到,可以将第一运行画面与每个目标对象对应的目标图像一一进行比对。可选地,该实施例通过图像识别的原理,获取第一运行画面与每个目标对象对应的目标图像之间的相似度,得到多个相似度,从多个相似度中获取满足第一阈值的目标相似度,其中,第一阈值可以为目标阈值范围,用于衡量目标应用的运行画面与目标图像之间匹配所设定的相似度的指定区间。可以将目标相似度对应的目标图像,确定为与第一运行画面匹配成功的第一目标图像,该第一目标图像的数量可以为一个,也可以为多个。在第一目标图像的数量为一个的情况下,与第一目标图像关联的目标虚拟控件的数量可以为一个,在第一目标图像的数量为多个的情况下,与第一目标图像关联的目标虚拟控件的数量可以为多个。

可选地,该实施例还可以将第一运行画面划分为多个子运行画面,将每个子运行画面与每个目标对象对应的目标图像相减,产生结果图,该结果图可以以绝对值的方式表示,如果绝对值在某个区间内,则确定第一运行画面与目标图像匹配成功,将目标图像确定为第一目标图像。

作为一种可选的实施方式,目标图像至少包括如下一种:目标图像为与目标应用的运行画面中的至少部分画面对应的画面;目标图像为根据目标应用的运行画面中的至少部分画面生成的图像特征码。

在该实施例中,目标对象对应的目标图像可以是与运行画面中的至少部分画面对应的画面,可以为运行画面中的图元,可选地,为与运行画面中的至少部分画面对应的图标、面板等;目标图像还可以为根据目标应用的运行画面中的至少部分画面生成的图像特征码,该图像特征码可以为一种体积更小的图元,易于计算机的识别。在该实施例中,对于某些难以从至少部分画面中提取出图像特征码的情况,可以将至少部分画面直接确定为目标图像。

作为一种可选的实施方式,在检测到目标应用的第一运行画面的步骤之前,还包括:从目标应用的多个运行画面中,获取每个运行画面中的至少部分画面;将每个运行画面中的至少部分画面发送至服务器,其中,与每个运行画面中的至少部分画面对应的画面由服务器确定为目标图像,或者根据第一运行画面中的至少部分画面生成的图像特征码由服务器确定为目标图像。

在该实施例中,在检测到目标应用的第一运行画面之前,需要预先根据目标应用的运行画面生成与目标对象对应的目标图像,可以预先从目标应用的多个运行画面中,获取每个运行画面中的至少部分画面,该至少部分画面可以通过从运行画面中截图获取到,其中,截图的要求是在保证清晰完整的前提下截图区域尽量小。在获取每个运行画面中的至少部分画面之后,将至少部分画面发送至服务器,该服务器可以将与每个运行画面中的至少部分画面对应的画面确定为目标图像,也可以从第一运行画面中的至少部分画面中提取出图像特征码,将图像特征码确定为目标图像,可以保存在目标插件中。

可选地,实施例可以在质量保证(qualityassurance,简称为qa)或产品方在体验目标应用时,从目标应用的多个运行画面中,获取至少部分画面,比如,将需要制作成虚拟控件的游戏行为面板截图抠出来,也可以为所有具有权限的注册了模拟器帐号的用户根据自己的需要和兴趣来发送。将至少部分画面按照一定的命名规则保存到文件中,比如,按照对应的目标操作行为的类型来命名,再保存到图形文件中,作为与目标应用在实际运行过程中的运行画面进行匹配的基本素材。其中,图形文件的默认的文件格式可以为png格式。将保存有至少部分画面的文件上传至服务器。服务器根据至少部分画面确定为目标图像,从而得到多个目标图像。

可选地,服务器对获取到的多个目标图像进行过滤、分析,可以对服务器上的多个目标图像进行筛选,主要是为了筛选掉不符合尺寸的目标图像,比如,筛选掉尺寸太大(1024×1024)或尺寸太小(1×1)的目标图像,还可以筛选掉重复的目标图像,比如,已经提交过的目标图像又重复提交,则需要将其删除,还可以筛选掉色彩比较单一的目标图像,比如,筛选掉纯黑、纯白等目标图像。

该实施例对于满足某些条件(比如,边界颜色对比度大,图元纹理易于仿真等)的至少部分画面,可以通过图形压缩,去除空间冗余,视觉冗余,将至少部分画面变换成体积更小、更易于计算机识别的图像,可以将其确定为目标图像。

可选地,该实施例在根据第一运行画面中的至少部分画面生成的图像特征码时,需要保证误判的误差率小,在扫描目标应用的运行画面时,能根据该图像特征码可以准确还原至少部分画面。

作为一种可选的实施方式,在将第一运行画面与每个目标对象对应的目标图像进行比对确定多个相似度的步骤之前,该方法还包括:从与目标应用对应的目标插件中,获取与每个目标对象对应的目标图像。

在该实施例中,目标插件可以为图形引擎插件,从目标应用的运行画面中预先提取出的多个目标图像可以保存在目标插件中。这样在需要进行将第一运行画面与每个目标图像进行匹配时,可以先从目标插件中获取多个目标图像。可选地,该实施例的目标插件将第一运行画面与每个目标图像进行匹配,得到多个相似度,从多个相似度中获取满足第一阈值的目标相似度,并将目标相似度对应的目标图像,确定为与第一运行画面匹配成功的第一目标图像,进而提供命中特定的目标操作行为的信号,可以经shell层过滤和解析该信号,确定在目标应用的表层显示与第一目标图像相关联的至少一目标虚拟控件。

在该实施例中,对于不同的目标应用,该实施例可以提供不同的目标插件,这样既可以针对目标应用做定制和优化,又可以在不发布模拟器版本下,热更新目标插件的插件文件,从而有效地化解了目标应用上架与模拟器发布的时间差。

在该实施例中,目标插件的配置前端可以通过目标插件的标识,该标识可以为id号,用于唯一标识目标插件;还可以提供目标插件的名称;还可以提供目标插件的描述信息,其中,目标插件在升级过程中,如果启动了该目标插件对应的目标应用,当目标插件在升级完成之后,需要提醒用户目标插件已升级,此处用户看到的提醒信息就是从目标插件的描述信息中获取到的;还可以提供配置内容,其中,客户端在网络请求服务器插件接口时,获取到的服务器返回的数据就是此处的配置内容,其中包含了需要更新的目标插件的统一资源定位符(uniformresourcelocator,简称为url)地址。

作为一种可选的实施方式,该方法还包括:获取与目标应用对应的目标文件;将目标文件中存储的插件标识所指示的插件,确定为目标插件。

在该实施例中,目标文件与控件方案相对应,可以用于存储控件方案的信息,可以包括插件标识,该插件标识可以为目标插件的名称,将目标文件中存储的插件标识所指示的插件,确定为目标插件。在shell层解析到插件标识之后,会以它作为参数加载并启动目标插件。

作为一种可选的实施方式,目标文件还用于存储每个目标对象关联的至少一虚拟控件,获取至少一虚拟控件中与第一目标对象关联的至少一目标虚拟控件的步骤,包括:从目标文件中,获取至少一目标虚拟控件。

在该实施例中,可以通过每个目标图像所关联的至少一虚拟控件生成虚拟控件列表,也即,在某个屏幕分辨率下,得到可以响应所有目标操作行为的虚拟控件键列表。

在该实施例中,可以由策划或质量保证qa同学整理出来的一套比较适合用户使用的虚拟控件列表,然后上传到服务器,模拟器在启动目标应用时,会去主动拉取目标文件,并根据目标文件的优先级规则,将目标文件加载进目标应用中,用来显示至少一目标虚拟控件。

在该实施例中,目标文件的前端可以提供目标应用的名称;目标应用的包名,可以用于唯一标识目标应用;配置名称,在客户端具有多个目标文件夹(云方案)时,可以告知用户某个目标文件对应的名称;优先级,在有多个目标文件的情况下,用于确定各个目标文件使用的先后顺序;上传入口,用于提供将目标文件上传到模拟器的服务器上的操作入口。

作为一种可选的实施方式,在从与目标应用对应的目标插件中,获取与每个目标对象对应的目标图像之前,该方法还包括:确定目标插件的信息与目标应用的信息相匹配,确定目标应用支持目标插件,并向目标应用安装目标插件。

在该实施例中,在模拟器启动完成之后,可以向服务器请求当前可用的插件信息,比如,获取可用插件列表。可选地,当前可用的插件信息包括目标插件的信息,该目标插件的信息可以包括插件名称、插件对应的目标应用或目标应用的包名称、目标插件的版本号、目标插件的文件的下载地址等。该实施例还获取应用列表,该应用列表包括模拟器当前已经安装的应用的信息,包括目标应用的信息,该信息可以包括目标应用的包名称、目标应用的名称、目标应用的版本号,是否是系统应用等信息。将可用插件列表与应用列表进行匹配,包括将目标插件的信息与目标应用的信息进行匹配。将目标插件的信息与目标应用的信息进行匹配,可以匹配目标插件的信息与目标应用的信息中相同类型的信息,比如,目标插件的信息中的目标应用的包名称与目标应用的信息中的目标应用的包名称进行匹配,如果检测到的目标插件的信息与目标应用的信息相匹配,就可以确定目标应用支持目标插件,并向目标应用安装该目标插件。

举例而言,目标应用为“第五人格”的游戏应用,其中配置了插件,那么在插件列表中就存在该游戏对应的包名称“com.netease.dwrg”,如果在模拟器上安装了“第五人格”的游戏应用,则在应用列表中也会包含“com.netease.dwrg”项,通过这两个列表的“com.netease.dwrg”,就可以判断本地的“第五人格”游戏应用是支持插件的,进而向“第五人格”游戏应用安装插件。

可选地,该实施例可以通过正则表达式,来将目标插件的信息与目标应用的信息进行匹配。其中,正则表达式是一套字符串的匹配规则,通过该规则可以判断两个字符串是否匹配。比如,“第五人格”游戏,该游戏应用的信息中的包名称是“com.netease.dwrg”,如果在目标插件的信息中给出的包名称是“com.netease.*”,由于字符“*”在正则表达式中可以代表任意的字符串,因此可以匹配任何以“com.netease.”开头的字符串,也可以匹配“com.netease.dwrg”了,因此“com.netease.*”和“com.netease.dwrg”是匹配的。

可选地,该实施例的目标插件是按需加载的,可以当目标应用需要用到目标插件时,才会向目标应用加载该目标插件,而在目标应用结束时,立刻卸载目标插件,从而避免造成内存泄露,也便于目标插件的升级。

作为一种可选的实施方式,该方法还包括:获取目标插件的升级信息,且按照升级信息对目标插件进行升级。

在该实施例中,可以向服务器请求匹配更高版本的目标插件,以对目标插件进行升级。获取服务器下发的目标插件的升级信息,该升级信息可以包括在升级到更高版本的目标插件时所需要的信息,进而按照升级信息对目标插件进行升级。

作为一种可选的实施方式,在以下之一情况下,确定目标插件的信息与目标应用的信息相匹配:获取到目标插件的信息;安装目标应用;启动目标应用。

在该实施例中,可以通过三个时机来检测和更新目标插件。其中,包括获取到目标插件的信息,比如,在获取到插件列表之后,再获取当前已经安装的应用列表,两相比较,如果目标应用与目标插件相匹配,则确定目标应用支持目标插件,向服务器请求是否有更高版本的目标插件可用,如果有,就去下载更高版本的目标插件的升级信息以对目标插件进行升级,可以通过文件下载工具将更高版本的目标插件下载到本地指定目录下,更新原有的目标插件的安装程序。

可选地,该实施例在安装目标应用时,检测和更新目标插件。比如,当从模拟器安装目标应用时,如果该目标应用的名称与插件列表中的目标应用的名称相匹配,则确定模拟器安装了支持目标插件的目标应用,可以通过插件列表中的目标插件的下载地址和目标插件的版本号,向服务器进行网络请求,如果服务器有更新的插件版本,则可以下载下来,对目标插件进行更新。

可选地,该实施例在启动目标应用时,检测和更新目标插件。当启动目标应用时,可以将目标应用的包名与插件列表中的目标插件的信息进行比较,可以通过上述方法判断是否需要更新目标插件。此处有可能出现一种情况,由于下载目标插件的过程是异步执行的,有可能在没有下载完目标插件时,玩家启动了目标应用,在这个时候加载的仍然是旧版本的目标插件。在某些情况下,如果目标应用有更新,导致旧版本的目标插件命中目标操作行为的功能失效,如果仍然让用户使用旧版本的目标插件的话,就无法正常使用本发明实施例的虚拟按键的显示方法。为了让用户可以使用最新的目标插件,当目标插件更新好之后,如果目标应用还在启动中,则会输出提示信息,该提示信息可以用于指示目标插件已更新,这样用户就只需要重新启动目标应用,就可以加载到最新的目标插件,来体验目标应用。

通过上述三种时机,可以保障用户在体验目标应用时,可以使用最新的目标插件。

作为一种可选的实施方式,获取目标应用的多个目标对象包括:从本地获取目标应用的多个目标对象;获取至少一虚拟控件中与第一目标对象关联的至少一目标虚拟控件的步骤,包括:从本地获取至少一目标虚拟控件。

在该实施例中,多个目标图像可以是用户自己整理好保存在了本地,至少一目标虚拟控件也可以是用户自己整理创建的,比如,创建虚拟控件列表,可以从空白方案创建,也可以基于目标文件(云方案)修改而成的。这样从本地获取目标应用的多个目标对象,获取第一运行画面与每个目标图像之间的相似度,得到多个相似度,进而从多个相似度中获取满足第一阈值的目标相似度,并将目标相似度对应的目标图像,确定为与第一运行画面匹配成功的第一目标图像,从本地获取与第一目标图像相关联的至少一目标虚拟控件。由于至少一目标虚拟控件是用户自己定制的,因而,可以更贴合用户自己的使用习惯。

作为一种可选的实施方式,在控制至少一目标虚拟控件显示在第一运行画面中之后,该方法还包括:检测到目标应用的第二运行画面;确定第二运行画面与第一目标图像匹配失败,并将至少一目标虚拟控件在第二运行画面中隐藏。

在该实施例中,在目标应用运行的过程中,运行画面不断地改变,在这种情况下,检测到目标应用的第二运行画面,可以将第二运行画面与第一目标图像进行匹配,如果第二运行画面与第一目标图像匹配失败,则将至少一目标虚拟控件在第二运行画面中隐藏,比如,将至少一目标虚拟控件的图标在第二运行画面中隐藏,从而在第二运行画面中无法看到至少一目标虚拟控件;可选地,如果确定第二运行画面与第二目标图像匹配成功,则获取与第二目标图像对应的第二目标对象关联的至少一虚拟控件,可以将该至少一虚拟控件显示在第二运行画面中,比如,将该至少一虚拟控件的图标显示在第二运行画面中,以此方法类推,从而动态地控制目标应用的运行画面上的虚拟控件的显示和隐藏,达到了虚拟控件按需显示在应用的运行画面中的效果,从而大幅降低了虚拟控件的图标在目标应用的运行画面中的数量。

随着目标应用需要执行的目标操作行为的复杂,虚拟控件的数量越多,该实施例通过上述方法提升的效果就越明显,对通过模拟器使用目标应用的视觉体验也有明显地改善。

作为一种可选的实施方式,获取至少一虚拟控件中与第一目标对象关联的至少一目标虚拟控件的步骤,包括:获取优先级大于第二阈值的至少一目标虚拟控件。

在该实施例中,某个目标操作行为已经分配了一个虚拟控件(具有键值),但同时还有其它的目标操作行为也命中该虚拟控件的话,如果这些目标操作行为在目标文件(云方案)中索引到同一个键值,就会产生键值冲突,为解决这种键值冲突,需要提供键值优先级列表,也即,虚拟控件在使用时的优先级列表。获取至少一虚拟控件中与第一目标对象关联的至少一目标虚拟控件,也即,在分配虚拟控件时,可以会先比对虚拟控件的优先级,优先级高的虚拟控件会先分配到目标操作行为,将优先级大于第二阈值的至少一虚拟控件确定为至少一目标虚拟控件,而优先级低的虚拟控件可以作为备选会依次分配到其它命中的目标操作行为上。

可选地,在该实施例中,同一个目标对象可以分配多个虚拟控件,可以采用键值列表来完成,该列表中保存了所有该目标操作行为需要关联到的虚拟控件的键值,可以从列表的第0个位置开始分配,依次分配直至最后一个位置。

作为一种可选的实施方式,该方法还包括:获取目标位置信息,其中,目标位置信息用于指示第一运行画面中的目标位置;控制至少一目标虚拟控件显示在第一运行画面中的步骤,包括:控制至少一目标虚拟控件显示在目标位置。

在该实施例中,目标操作行为在目标虚拟控件在第一运行画面中的位置可以是固定的,也可以是变动的,使得目标虚拟控件在第一运行画面中的位置可以是固定的,也可以是变动的。对于固定的目标虚拟控件,基于计算性能考虑,目标位置信息在第一运行画面命中第一目标对象时可以从目标文件(云方案)中获取到;而对于可以变动的目标虚拟控件,目标位置信息可以在第一运行画面命中第一目标对象时带上,该目标位置信息可以是位置坐标信息,进而将至少一目标虚拟控件显示在目标位置信息所指示的目标位置上。

作为一种可选的示例,在执行该实施例的虚拟控件的显示方法之前,可以先对目标应用是否适合使用该方法进行评估。比如,由产品方发起目标应用是否适合虚拟控件的显示方法的评估分析,评估分析的依据包含虚拟控件对应的目标操作行为的位置是否经常改变、不同应用场景的目标操作行为变化情况。以及目标操作行为的数量等。在通常情况下,如果目标操作行为的位置经常改变,不同场景的目标操作行为变化大,目标操作行为的数量多,则更适合使用该实施例的虚拟控件的显示方法。

作为另一种可选的示例,该实施例可以根据当前是否获取到目标插件的插件名,来确定是否需要执行本发明实施例的虚拟控件的显示方法,如果没有获取到目标插件的插件名,则表示当前方案中是不需要使用该实施例的虚拟控件的显示方法,则不会执行第一运行画面与第一目标图像匹配的操作,也不会发出第一运行画面命中第一目标图像的信号;可选地,在发出第一运行画面命中第一目标图像的信号时,如果没有获取到目标插件的插件名,则也不需要响应上述信号。

作为另一种可选的示例,该实施例的目标插件在加载到目标应用中之后,会先发出一条未命中信号,shell层在收到该信号后,会将所有的虚拟控件都隐藏起来,而在后期目标应用运行的过程中,在执行本发明实施例的虚拟控件的显示方法。比如,目标应用为游戏应用,第一目标对象为开火操作行为,在游戏应用运行的过程中,需要将开火操作行为对应的虚拟控件显示出来,当目标插件对游戏应用的运行画面进行检测,检测到运行画面命中开火操作行为对应的目标图像,则会发送一条命中信号,shell层在接收到该信号后,分析信号类型,检索从虚拟控件列表中查找与目标图像关联的开火操作行为对应的虚拟控件的键值,比如,为f,然后将该f显示在游戏行为按键的小图标上,当用户家此时在按下f键时,产生目标操作行为,shell层会将该键值对应的目标操作行为发送给操作系统,再由操作系统转发给游戏应用,从而触发了游戏应用的开火操作行为。

下面从服务器一侧对本发明实施例的虚拟控件的显示方法进行介绍,该方法应用于模拟器。

图3是根据本发明实施例的另一种虚拟控件的显示方法的流程图。如图3所示,该方法包括以下步骤,

步骤s302,获取客户端发送的目标应用的第一运行画面。

在本发明上述步骤s302提供的技术方案中,客户端可以扫描目标应用在运行过程中的运行画面,在扫描到第一运行画面时,可以将第一运行画面上传至服务器,服务器获取客户端发送的该第一运行画面。

步骤s304,确定第一运行画面中存在第一目标对象,向客户端发送显示信号,第一目标对象与至少一虚拟控件中的至少一目标虚拟控件相关联,显示信号用于控制至少一目标虚拟控件显示在第一运行画面中。

在本发明上述步骤s304提供的技术方案中,在服务器获取到客户端发送的目标应用的第一运行画面之后,可以将第一运行画面与第一目标对象进行匹配。可选地,服务器预先从目标应用的运行画面中获取了多个目标图像,每个目标图像对应的目标对象关联有需要在目标应用的运行画面中显示的至少一虚拟控件。服务器可以将第一运行画面与每个目标图像进行匹配,可以获取第一运行画面与每个目标图像之间的相似度,得到多个相似度,从多个相似度中获取满足第一阈值的目标相似度,将目标相似度对应的目标图像,确定为与第一运行画面匹配成功的第一目标图像,进而确定第一运行画面中存在与第一目标图像对应的第一目标对象。在确定第一运行画面中存在与第一目标图像对应的第一目标对象之后,可以向客户端发送显示信号,该显示信号用于控制将与第一目标对象关联的至少一目标虚拟控件显示在第一运行画面中,客户端在接收到该显示信号时,可以触发目标应用显示至少一目标虚拟该至少一目标虚拟控件,该至少一目标虚拟控件可以从服务器加载到第一运行画面中的,也可以是从本地中调用过来的,从而避免了将虚拟控件一直显示在应用的运行画面,解决了虚拟控件不能按需显示在应用的运行画面中的技术问题,达到了虚拟控件按需显示在应用的运行画面中的技术效果。

该实施例的虚拟控件的显示方法,应用于模拟器,在目标应用的第一运行画面与预先设置的第一目标图元匹配成功时,才将至少一虚拟控件显示在第一运行画面中,达到了虚拟控件按需分配的目的,从而避免了将虚拟控件一直显示在应用的运行画面,解决了虚拟控件不能按需显示在应用的运行画面中的技术问题,达到了虚拟控件按需显示在应用的运行画面中的技术效果。

下面结合优选的实施方式对本发明的技术方案进行说明,具体以操作系统为安卓系统,模拟器为安卓模拟器,目标应用为游戏应用,虚拟控件为按键、目标图像为图元,插件为图形引擎插件等进行举例说明。

安卓系统是目前主流智能操作系统之一,目前有数以万计的应用运行在这个系统上。安卓模拟器是一款支持安卓系统运行在pc上的模拟软件,通过这种模拟软件,可以实现在pc电脑上运行移动终端的应用的目的。

为了充分利用pc键盘和手柄的操控优势,通常会在安卓模拟器上设置支持按键操作的快捷键的功能,这样,用户在pc上玩移动终端的游戏时,就可以体验到pc端游般的便捷顺畅。

为了让用户能较方便地使用按键操作的快捷键,可以在安卓模拟器上以按键配置表的方式添加按键操作的快捷键,以配置快捷键。在这些快捷键配置好后,会以小图标的形式一直显示在游戏应用的运行画面上,小图标中通常会带有键盘或手柄的按键符号,在需要触发某种操作行为时,可以直接观察该小图标所带的按键符号,就可以确定该行为的快捷操作键了。

但是,当某款游戏可支持的按键的操作行为很多时,为了响应这些操作行为,会在游戏应用的运行画面上添加较多按键的快捷键的小图标,这样大量的小图标会一直浮现在游戏界面上,密密麻麻,从而影响视觉体验。有些安卓模拟器在小图标显示效果上做了一些改进,比如,将透明度变高,将尺寸变小等,但无法兼容各种游戏应用的色彩的差异;另外,对于某些按键的操作行为,只有在特定的场景下才出现,为了支持这些操作行为,这些小图标也会一直占据游戏界面的位置,在其它场景下,就显得多余;某些按键的操作行为的位置也不固定,会根据游戏场景的不同,显示在不同区域,为了满足这种情况,单个行为也需要提供多个小图标来支持,这样无疑又会产生较多冗余小图标。

由于并不是所有的按键对应的在游戏进行过程中都一直存在,如果能够在游戏应用运行过程中及时检测出按键的位置,根据位置显示按键的小图标,就不用将小图标一直显示在游戏应用的运行画面上。该实施例基于上述分析,提出按键操作的快捷键的按需分配,将按键的小图标按需显示在游戏应用的运行画面中。

该实施例可以在安卓模拟器上实现,首先采集关键图元的素材,然后通过图形引擎插件对游戏应用的运行画面做图形检测和匹配,提供是否命中特定游戏行为的信号,再经shell层过滤和解析这些信号,决定在游戏表层是否显示,用于响应游戏行为的标有特定按键的小图标。

下面对该实施例的按键显示方法进行介绍。

图4是根据本发明实施例的一种按键显示的结构示意图。如图4所示,该实施例的按键显示的结构包括模拟器服务端和模拟器客户端。其中,模拟器服务端包括关键图元采集、插件管理和云方案管理,模拟器客户端包括插件管理、键鼠配置方案、小图标显示与隐藏。

下面对该实施例的模拟器服务端进行关键图元的过程进行介绍。

由于不同游戏应用的操作行为各有差异,为了精准支持特定的游戏应用,需要将用于响应游戏操作行为的图标(图元)截图抠出来,作为图形引擎插件(后文称为插件)进行匹配的基本素材,将其辅以一定的命名规则保存到图形文件中,上传到模拟器服务器上。该工作可以放开为所有注册了模拟器账号的用户使用,用户可以通过它监控感兴趣的游戏行为,以将其制作为按键的快捷键。

下面对模拟器服务端的插件管理进行介绍。

该实施例的模拟器服务端对上传的游戏行为对应的图元进行过滤和分析,提取图元的特征码,保存在插件中。其中,特征码为体积更小、更易于计算机识别的图元。在对图元进行过滤和分析时,可以对上传到服务器上的图元进行筛选,主要是为了筛选掉不符合尺寸的图元,比如,筛选掉太大(1024×1024)或太小(1×1)的图元,还筛选掉重复的图元,比如,已经提交过的图元又重复提交,还筛选掉色彩比较单一的图元,比如,筛选掉纯黑,纯白等图元;在提取图元的特征码时,对于满足某些条件(比如,边界颜色对比度大,图元纹理易于仿真等)的图元,可以通过图形压缩,去除空间冗余,视觉冗余,将原始图元变换成体积更小,更易于计算机识别的新图元。

可选地,当游戏应用在运行过程中,可以扫描游戏应用的运行画面,与插件中保存的特征码进行比对,提供是否命中图元的信号,可选地,每一帧运行画面就是一幅图片,一种比对方式是将该图片划分为多个小区域,将每个小区域与特征码相减,产生结果图,可以以绝对值的方式呈现,如果绝对值在某个区间内,就可以认为这帧运行画面命中了这个特征码;对于某些比较难以提取特征码的图元,可以直接比对图元与游戏应用的运行画面,当相似度在指定区间内时,则判定为命中。

在该实施例中,扫描游戏应用的运行画面的频率在不同游戏上是不一样的,经验值15hz可以满足大部分游戏需求,30hz以上玩家基本感觉不到按键的小图标显示/隐藏有延迟。最高可以采用与游戏应用的运行画面的帧率相同的扫描频率来进行扫描,这种情况很少出现,但对于某些游戏行为变化特别快的游戏应用,提高扫描帧率,无疑体验效果会更好,但也会更占用更计算机资源。因而,为了保障软件整体性能/体验平衡,需要具体游戏应用具体分析。同时,对于不同的游戏应用,该实施例提供不同的插件,这样既可以针对游戏应用做定制和优化,又可以在不发布模拟器的版本下,热更新游戏应用的插件文件,有效地化解了游戏应用上架与模拟器发版的时间差。

插件的配置前端可以提供:插件id号,用来唯一标识某个插件;插件名称;插件描述信息,插件升级过程中,如果启动了该插件对应的游戏应用,当插件升级完成之后,需要提醒玩家插件已升级,此处玩家看到的提醒信息就是从插件描述信息中获取到的;配置内容,客户端在网络请求服务端插件接口时,获取到的服务器返回的数据就是此处的配置内容,其中包含了需要更新的插件url地址。

下面对服务器端的云方案管理进行介绍。

云键鼠方案文件(后面简称云方案)可以为配置表,该配置表包含了在某个屏幕分辨率下,游戏可以响应的所有按键行为的快捷键列表;插件名,shell层解析到插件名后,会以它作为参数加载并启动插件实例。

键鼠配置前端可以提供:游戏应用的名称;游戏应用的包名,用于唯一标识某个游戏应用;配置名称,客户端显示多个云方案时,可以告知用户某个具体文件对应的名称;优先级,在有多套云方案的情况下,用来决定各套方案显示的先后顺序;上传入口,提供将云方案的文件上传到服务器上的操作入口。

下面对该实施例的模拟器客户端部分进行介绍。

下面对模拟器客户端的插件管理进行介绍。

在该实施例中,在模拟器在启动完成之后,会向服务端请求当前可用的插件列表,然后分三个时机检测和更新插件。

时机一,获取到插件列表,该插件列表中包含了插件名称、插件对应的应用的包名称、插件版本号、插件文件的下载地址,再获取当前已经安装的游戏应用的列表,即已经安装到安卓模拟器上的游戏应用的信息列表,包含游戏应用的包名称,游戏应用的名称,游戏应用的版本号,是否是系统应用等。将插件列表与游戏应用的列表进行比较,比较的是两个列表中都有的信息,比如,游戏应用的包名称,如果插件列表中的该项值与游戏应用列表中的该项值匹配,就可以确定本地游戏应用是支持插件的。

举例而言,“第五人格”游戏应用中配置了插件,那么在插件列表中就存在该游戏对应的包名称“com.netease.dwrg”,如果在安卓模拟器上安装了“第五人格”的游戏,那么,在游戏应用列表中也会包含“com.netease.dwrg”项,通过这两个列表的“com.netease.dwrg”,就可以确定“第五人格”游戏应用支持插件。

如果有本地的游戏应用支持插件,则向服务器匹配版本,如果有更高版本的插件可用,则下载以更新插件;

时机二,当从模拟器安装手机游戏时,通过该游戏应用的包名与插件列表进行比较,判断是否需要更新。

举例而言,通过上面示例的“第五人格”游戏应用,判断出安卓模拟器是否安装了支持插件的“第五人格”游戏应用,如果安装了,就可以通过插件列表中插件文件的下载地址和插件版本号,向服务器进行网络请求,如果服务器有更新的插件版本,就可以进行下载。

时机三,当启动游戏应用时,将游戏应用的包名与插件列表进行比较,通过上述方法判断是否需要更新插件。此处有可能出现一种情况,即在启动游戏应用时,插件还没有更新好,这个时候加载的仍然是旧版本的插件,为了让用户能够使用上最新的插件,当插件更新好后,如果游戏应用还在启动中,会给出插件已更新的提醒,用户只需从新启动的游戏应用中加载到最新的插件即可。

通过上述三种时机,就可以保障用户在体验游戏时使用的是最新插件。

下面对模拟器客户端的键鼠配置方案管理进行介绍。

在该实施例中,按键的显示方法包括智能云方案,该方案由策划或qa同学整理出来的一套比较适合玩家使用的按键的快捷键列表,然后上传到服务器,模拟器在游戏应用启动时,会去主动拉取这些云方案,并根据云方案的优先级规则,加载进游戏应用中,用来显示按键的快捷键;还可以包括智能本地方案,该方案是另一种形式的按键快捷键列表,由玩家自己整理(可以从空白方案创建,也可以基于云方案修改而成)的,保存在用户本地的按键快捷键列表中,由于其是自己定制,所有可以更贴合用户自己的使用习惯。

下面对模拟器的客户端的小图标显示和隐藏进行介绍。

在该实施例中,当模拟器的shell层启动插件后,插件在命中游戏操作行为的按键时,会发送显示信号,shell层收到该显示信号后,可以判断信号类型,该显示信号包括显示按键的信号,该信号中包含了按键的键值和需要显示的按键的个数,按键的坐标等;还包括了隐藏按键的信号,该信号包含了按键值,按键个数等。

该实施例在游戏应用的运行画面上显示按键时,有以下情况需要考虑:该实施例的运行画面可以显示一个按键,也可以同时显示多个按键,需要根据命中按键的操作行为的数量来确定,不能固定为一个或几个;某个游戏应用的操作行为已经分配了一个键值,但同时还有其它游戏应用的操作行为也命中的话,如果这些游戏应用的操作行为在云方案中索引到同一个键值,就会产生键值冲突,为了解决这种键值冲突,需要提供键值优先级列表,在分配键值时,可以先比对键值优先级,将优先级高的键值会先分配给游戏应用的操作行为,而优先级低的键值作为备选会依次分配到其它命中的游戏应用的操作行为上;游戏应用的操作行为的位置分两种,一种是固定的,一种是可移动的,对于固定位置的游戏操作行为,基于计算性能考虑,在命中时不会提供位置信息,该位置信息可以从云方案中获取到,对于可以移动的游戏应用的操作行为,命中时会带上位置信息,比如,坐标信息。

下面通过流程图对该实施例的按键(智能按键)的显示方法进行介绍。

图5是根据本发明实施例的一种按键的显示方法的流程图。如图5所示,该方法可以包括以下步骤:

步骤s501,由产品方发起游戏应用是否适合使用智能按键评的估分析。

该实施例的评估依据包含游戏应用的操作行为的位置是否经常改变、不同游戏应用的场景的操作行为变化情况、操作行为的数量。在通常情况下,操作行为的位置如果经常改变、不同场景的操作行为变化大、操作行为的数量多,则更适合使用该实施例的按键显示方法。由产品方发起游戏应用是否适合使用智能按键评的估分析,如果适合使用智能按键评的估分析,执行步骤s502,否则,结束。

步骤s502,采集图元数据。

在该实施例中,在由产品方发起游戏应用适合使用智能按键评的估分析之后,采集图元数据。qa或产品方在体验游戏时,可以将需要制作成按键快捷键的游戏行为面板截图抠出来,可以按照操作行为的类型进行命名,保存到图形文件中,默认的文件格式可以为png格式。对截图的要求是,在保证行为面板清晰完整的前提下,截图区域要尽量小。

步骤s503,开发针对游戏应用的插件。

在开发针对具体游戏的插件中,提取图元数据的特征码,其主要的要求是确保误判误差率小,在扫描游戏应用的运行画面时,能够根据该特征码准确地还原操作行为对应的图元。在设置扫描频率时,也需要考虑游戏应用的类型,比如,激烈对抗型游戏,对cpu和gpu消耗比较高,在设置扫描频率时,会考虑适当降低扫描频率,否则,可以稍微提高扫描频率。该实施例在插件的加载上,做到按需加载,只有当游戏应用需要使用到某插件时,才会加载,而在游戏应用结束时,立刻卸载插件,从而避免造成内存泄露,也便于插件的升级。在对发出的命中的信号进行响应时,也应根据当前是否载入该实施例制定的插件的名称而定,当未载入该实施例制定的插件的名称时,则表示当前方案中是没有智能按键的,则不需要响应命中信号。可选地,该实施例还可以在插件发出命中信号之前,就可以判断是否载入该实施例制定的插件的名称,如果未载入,就不进行接下来的运行画面与特征码比对,也不会产生是否命中的信号。

步骤s504,小图标的显示或隐藏。

在该实施例中,在按键方案在载入到游戏应用之后,在默认情况下,插件会先发出一条未命中信号,shell层收到该信号后,会将所有的按键都隐藏起来,在游戏应用运行的过程中,比如,通过图元或特征码比对,在命中时,会发送一条命中信号,shell层收到该信号后,分析信号类型,检索键鼠方案列表,找到对应的快捷键的键值,比如f,在游戏应用的运行画面上显示按键的快捷键的小图标。玩家此时在按下f键时,shell层会将该键值对应的操作行为发送给安卓系统,再由安卓系统转发给游戏应用,从而触发游戏应用执行对应的操作行为。

步骤s505,制作云键鼠方案。

在该实施例中,游戏应用的操作行为的快捷键列表,包含了所有需要配置快捷键的操作行为对应的按键的快捷键。通过该快捷键列表,可以将游戏应用的操作行为与快捷键关联在一起,但该快捷键列表并不是游戏应用的操作行为与按键快捷键的简单一一对应关系,而是多对多关系,也即,不同的操作行为可以对应同一个按键快捷键,不同的按键快捷键也可以对应同一个操作行为。在每个按键的快捷键上都附加了优先级权限,用来仲裁出现快捷键分配冲突时,如何解决冲突,可以是优先级高的按键快捷键优先获得操作行为,而优先级低的按键快捷键依次分配操作行为。同一个游戏应用的操作行为的分配,可以采用键值列表完成,列表中保存了所有该游戏应用的行为希望关联的按键快捷键的键值,从键值列表的第0个位置开始分配,依次分配到最后一个位置,得到云键鼠方案。

步骤s506,验收云键鼠方案。

在云键鼠方案制作完成之后,可以经qa验收云键鼠方案。

步骤s507,发布云键鼠方案。

在云键鼠方案验收合格之后,进行发布。

步骤s508,判断是否需要更新游戏应用。

如果游戏应用需要更新、适配,则执行步骤s501,如果不需要,则结束流程。

图6是根据本发明实施例的一种插件升级的方法的流程图。如图6所示,包括以下步骤:

步骤s601,获取插件列表。

在模拟器启动完成之后,获取插件列表,该插件列表可以包含所有模拟器提供的按键插件以及插件的信息的集合。通过插件列表,可以由服务端控制客户端插件是否支持升级。

步骤s602,将插件列表与已经安装的游戏应用的列表进行比对。

在模拟器启动完成后,就可以通过查询指令向安卓系统发送当前已安装游戏应用的列表,该表项中包含了游戏应用的包名,可以通过正则表达式,匹配到哪些游戏应用支持步骤s601中的插件。

在该实施例中,正则表达式是一套字符串的匹配规则,通过该规则可以判断两个字符串是否匹配。比如,“第五人格”的游戏应用,它的包名称是“com.netease.dwrg”,如果在插件列表中给出的包名称是“com.netease.*”,由于字符“*”在正则表达式中可以用于代表任意的字符串,因此可以匹配任何以“com.netease.”开头的字符串,当然也可以匹配“com.netease.dwrg”,因此“com.netease.*”和“com.netease.dwrg”是匹配的。

步骤s603,判断游戏应用列表中是否包含插件的信息。

如果游戏应用列表中包含插件的信息,则确定游戏应用支持该插件,执行步骤s604;如果不包含,则结束流程。

步骤s604,判断该插件是否有更新。

该实施例可以检测是否有最新插件的版本号,如果有最新插件的版本号,则确定模拟器中的插件需要更新,执行步骤s605;如果没有最新插件的版本号,则可以结束流程。

步骤s605,升级插件。

如果需要升级,从服务端获取最新插件地址,再通过文件下载工具将插件下载到本地指定目录下,升级插件

步骤s606,判断插件升级过程中是否开启了游戏应用。

在该实施例中,由于下载插件的过程是异步执行,有可能在没有下载完插件时,玩家启动了该插件对应的游戏应用,这时,会加载旧版本的插件,某些情况下,如果游戏应用有更新,导致旧版插件命中游戏行为的功能失效,如果仍然让用户使用旧版插件的话,则该实施例的智能按键的显示方法就无法正常使用。

步骤s607,输出用于提示用户重启游戏应用的信息。

如果插件下载完成,需要及时提醒玩家,新版插件已经更新,建议玩家重新启动游戏,加载新插件体验游戏。

如果插件在升级过程中没有开启游戏应用,则可以在插件升级完成之后,结束流程。

根据本发明上述实施例提供的按键的显示方法,可以在游戏应用运行的过程中,通过图像识别的原理,由插件实时捕捉和分析运行画面,对比预采集控制游戏行为的按键素材,提供按键是否命中的信号,经shell层分配和整合按键的键值,动态控制按键快捷键小图标的显示和隐藏,从而大幅地降低了运行画面上小图标的数量。

相对于传统的将所有小图标一股脑全部显示在游戏所有画面上,该实施例采用智能按键的方式,根据游戏场景只选择当前所需要响应的游戏应用的操作行为,提供按键快捷键,从而明显降低了按键的小图标数量,随着游戏操作行为越复杂,按键快捷键的数量越多,该实施例的对按键快捷键的显示效果就提升越明显,对通过模拟器使用移动终端的游戏应用的视觉体验特有明显地改善。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本发明实施例还提供了一种虚拟控件的显示装置,应用于模拟器。需要说明的是,该实施例的虚拟控件的显示装置可以用于执行本发明实施例如图2所示的虚拟控件的显示方法。

图7是根据本发明实施例的一种虚拟控件的显示装置的示意图。如图7所示,该虚拟控件的显示装置700包括:检测单元10、第一处理单元20和显示单元30。

检测单元10,用于检测到目标应用的第一运行画面。

第一处理单元20,用于确定第一运行画面中存在第一目标对象,获取至少一虚拟控件中与第一目标对象关联的至少一目标虚拟控件。

显示单元30,用于控制至少一目标虚拟控件显示在第一运行画面中

本发明实施例还提供了另一种虚拟控件的显示装置,应用于模拟器。需要说明的是,该实施例的虚拟控件的显示装置可以用于执行本发明实施例如图3所示的虚拟控件的显示方法。

图8是根据本发明实施例的另一种虚拟控件的显示装置的示意图。如图8所示,该虚拟控件的显示装置800包括:获取单元40和第二处理单元50。

获取单元40,用于获取客户端发送的目标应用的第一运行画面。

第二处理单元50,用于确定第一运行画面中存在第一目标对象,向客户端发送显示信号,第一目标对象与至少一虚拟控件中的至少一目标虚拟控件相关联,显示信号用于控制至少一目标虚拟控件显示在第一运行画面中。

在目标应用的第一运行画面与预先设置的第一目标图元匹配成功时,才将至少一虚拟控件显示在第一运行画面中,从而避免了将虚拟控件一直显示在应用的运行画面,解决了虚拟控件不能按需显示在应用的运行画面中的技术问题,达到了虚拟控件按需显示在应用的运行画面中的技术效果。

本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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