一种体感手势选择安卓游戏目标UI控件的方法与流程

文档序号:12863284阅读:710来源:国知局
一种体感手势选择安卓游戏目标UI控件的方法与流程

本发明属于体感技术领域,特别涉及了一种体感手势选择安卓游戏目标ui控件的方法。



背景技术:

目前,体感技术在游戏领域的应用已非常成熟,但在安卓系统上大多数原生游戏还只能是用于支持触摸屏等传统输入设备的操控。到目前为止,还没有一套完整的让安卓原生游戏支持体感操控的方法。

一方面,在现有技术中,通常采用模拟鼠标方式实现隔空选择安卓原生游戏的控件,特别是按钮控件。先获取操控空间的图像数据,追踪用户手的空间位置,然后将手在这个操控空间中的空间坐标边换成鼠标在操控界面上的像素坐标,最后以鼠标操控的方式来执行对目标元素的操作。然而,由于用户的手存在自然抖动,无法实现在计算机鼠标那样精细的选取和移动,导致无法快速准确定选中目标元素,降低了用户体验度。

另一方面,由于游戏的特殊性,很多游戏无法获取到控件、资源id等内部资源(非原生安卓代码或使用opengl,unity),这种情况下,只能通过点击坐标代替控件操作,而如何获取控件的坐标就成了能否实现隔空选择安卓游戏控件的关键。



技术实现要素:

为了解决上述背景技术提出的技术问题,本发明旨在提供一种体感手势选择安卓游戏目标ui控件的方法,克服现有技术由于用户手存在自然抖动而导致无法快速选中目标ui控件的难题。

为了实现上述技术目的,本发明的技术方案为:

一种体感手势选择安卓游戏目标ui控件的方法,包括以下步骤:

(1)查找目标ui控件,确定目标ui控件在终端显示屏上的覆盖区域和位置信息;

(2)获取体感设备产生的用户手的坐标信息;

(3)根据步骤(1)确定的目标ui控件的覆盖区域和位置信息以及步骤(2)获取的用户手的坐标信息,确定目标ui控件的选择框。

进一步地,步骤(1)的过程如下:

(11)查找目标ui控件所在的游戏当前画面的用户界面的id;

(12)查找目标ui控件在步骤(11)所述用户界面的ui控件树上对应的节点;

(13)根据目标ui空间对应的节点,确定目标ui控件在终端显示屏上的覆盖区域和位置信息。

进一步地,步骤(11)的过程如下:

收集目标ui控件的截图;获取游戏当前界面的截图,将目标ui控件的截图和游戏当前界面的截图作为输入,使用opencv集成的图像识别算法进行特征识别,输出目标ui控件所在的游戏当前画面的用户界面的id。

进一步地,步骤(2)的过程如下;

(21)通过摄像头实时获取并解析空间内场景的图像数据,得到场景中用户的体型信息,该体型信息包括臂长、肩宽以及左、右肩膀位置;

(22)根据操控显示界面的尺寸以及用户的体型信息确定操控空间的尺寸,该尺寸包括操作空间的宽度、纵深以及高度;

(23)判断用户是否抬起左手,如果是,则建立以用户左肩为原点的操控空间的坐标系;如果否,则建立以用户右肩为原点的操控空间的坐标系;

(24)获取用户的手在步骤(23)所建立的操控空间坐标系中的坐标,将用户的手在操控空间坐标系的坐标映射到操控显示界面的坐标。

进一步地,在步骤(22)中,根据用户的肩宽和臂长确定操控空间的宽度,根据用户的臂长确定操控空间的纵深,根据操作显示界面的宽高比确定操控空间的高度。

进一步地,步骤(3)的过程如下:

若用户的手在操控显示界面的坐标落在目标ui控件的覆盖区域,则根据目标ui控件的位置信息画出相应的矩形选择框,该矩形选择框的位置由目标ui控件的左上角坐标和右下角坐标决定。

采用上述技术方案带来的有益效果:

本发明不需要像传统体感技术那样采用鼠标来执行对目标元素的操作,从而避免了因用户手存在自然抖动而影像鼠标的选择或移动的精度,大大提升了用户体验度。

附图说明

图1是本发明的基本流程图。

图2是本发明步骤1的具体流程图。

图3是本发明步骤2的具体流程图。

具体实施方式

以下将结合附图,对本发明的技术方案进行详细说明。

先介绍安卓游戏中的xml文件。xml文件记录了安卓原生游戏的所要适配的界面ui控件的覆盖区域和位置信息。所述ui控件主要特指游戏界面中的按钮。将游戏界面抽象成有限个界面,每个界面由有限个按钮组成,每个按钮都有自己覆盖范围,比如,一个界面只有并排的两个按钮,那么两个按钮覆盖范围为显示界面的各一半区域。

一种体感手势选择安卓游戏目标ui控件的方法,如图1所示,具体步骤如下。

步骤1:查找目标ui控件,确定目标ui控件在终端显示屏上的覆盖区域和位置信息,如图2所示,具体过程如下:

步骤11:查找目标ui控件所在的游戏当前画面的用户界面的id,具体过程如下:

收集目标ui控件的截图;通过/dev/graphics/fb0设备获取游戏当前界面的截图,将目标ui控件的截图和游戏当前界面的截图作为输入,使用opencv集成的图像识别算法进行特征识别,输出目标ui控件所在的游戏当前画面的用户界面的id。

图像识别算法将事先收集的小图与实时截取的整幅当前界面做相似度计算,求出实时截取的整幅当前界面中与事先截取的小图相似度最大的那个部分,并记录那个部分相似度,判断最高相似度是否能达到相似度经验阀值,如果高于经验阀值,则认为当前界面为该小图对应的界面,如果低于经验阀值,则认为当前界面不是与事先截取小图对应的界面中的一个。

步骤12:查找目标ui控件在步骤11所述用户界面的ui控件树上对应的节点,该节点信息记录在预先编写的xml文件中。

步骤13:根据目标ui空间对应的节点,确定目标ui控件在终端显示屏上的覆盖区域和位置信息。

步骤2:获取体感设备产生的用户手的坐标信息,如图3所示,具体过程如下:

步骤21:通过摄像头实时获取并解析空间内场景的图像数据,得到场景中用户的体型信息,该体型信息包括臂长、肩宽以及左、右肩膀位置。

步骤22:根据操控显示界面的尺寸以及用户的体型信息确定操控空间的尺寸,该尺寸包括操作空间的宽度、纵深以及高度,具体如下:

根据用户的肩宽和臂长确定操控空间的宽度;

根据用户的臂长确定操控空间的纵;

根据操作显示界面的宽高比确定操控空间的高度。

步骤23:判断用户是否抬起左手,如果是,则建立以用户左肩为原点的操控空间的坐标系;如果否,则建立以用户右肩为原点的操控空间的坐标系。

步骤24:获取用户的手在步骤23所建立的操控空间坐标系中的坐标,将用户的手在操控空间坐标系的坐标映射到操控显示界面的坐标。

步骤3:根据步骤1确定的目标ui控件的覆盖区域和位置信息以及步骤2获取的用户手的坐标信息,确定目标ui控件的选择框。

若用户的手在操控显示界面的坐标落在目标ui控件的覆盖区域,则根据目标ui控件的位置信息画出相应的矩形选择框,该矩形选择框的位置由目标ui控件的左上角坐标和右下角坐标决定。

实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。

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