触摸事件响应处理方法及系统技术方案

技术编号:14778508 阅读:57 留言:0更新日期:2017-03-09 14:18
本公开是关于一种触摸事件响应处理方法及系统。该方法包括:配置第一视图和第二视图,其中所述第一视图的层级高于所述第二视图的层级;当接收到触摸事件时,判断所述触摸事件发生的位置;当所述触摸事件发生在所述第一视图的区域时,由所述第一视图对所述触摸事件进行响应;当所述触摸事件发生在所述第二视图的不与所述第一视图重叠的区域时,由所述第二视图对所述触摸事件进行响应。本公开通过设置层级不同的视图,使得触摸事件能够分别对不同层级的视图进行操作。

【技术实现步骤摘要】

本公开涉及人机交互
,更具体地,涉及一种触摸事件响应处理方法及系统
技术介绍
随着移动通信技术的快速发展,在触控终端上出现了越来越多的触控应用。在触控应用的运行过程中,触控终端按照一定的布局向用户呈现各个视图以及操作界面。目前,在一些触控应用中,需要不同的视图(View)来对触摸事件进行响应,以实现不同的功能。例如,在一些游戏应用中,一方面,需要对游戏引擎视图上的UI(UserInterface,用户界面)控件进行触摸控制,以实现虚拟角色的攻击、行走、对话等操作;另一方面,需要对地图视图(MapView)进行触摸控制,以实现地图的滑动、缩放、点击等操作。然而,在地图视图的层级高于游戏引擎视图的层级的情况下,即在游戏引擎视图上渲染地图视图的情况下,地图视图会覆盖游戏引擎视图,导致游戏引擎视图上的UI控件无法显示。另一方面,在游戏引擎视图的层级高于地图视图的层级的情况下,虽然可以在地图视图上方显示游戏引擎视图的UI控件,但是由于游戏引擎视图是全屏显示,所以触摸事件被游戏引擎视图拦截而导致地图不能进行正常的滑动、缩放、点击等操作。此外,希望的是,先由游戏引擎视图接收触摸事件,在游戏引擎视图不响应触摸事件的情况下,才将触摸事件传递至地图视图。然而,无论在iOS平台还是在Android平台下,触摸事件都只能从子视图传递给父视图,无法在同样层级的两个视图之间传递,并且游戏引擎视图不能作为地图视图的子视图,所以这种方案也不可行。需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
本公开的目的在于提供一种触摸事件响应处理方法及系统,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。根据本公开实施例的第一方面,提供一种触摸事件响应处理方法,所述方法包括:配置第一视图和第二视图,其中所述第一视图的层级高于所述第二视图的层级;当接收到触摸事件时,判断所述触摸事件发生的位置;当所述触摸事件发生在所述第一视图的区域时,由所述第一视图对所述触摸事件进行响应;当所述触摸事件发生在所述第二视图的不与所述第一视图重叠的区域时,由所述第二视图对所述触摸事件进行响应。本公开的一种示例性实施例中,所述第一视图为用户交互视图,其中所述用户交互视图包括一个或多个子视图,所述子视图为按钮视图、文字视图、图片视图中的一种或者多种。本公开的一种示例性实施例中,所述用户交互视图的各个子视图采用节点树的形式进行管理,所述方法还包括:将所述各个子视图添加到相应平台的渲染节点上。本公开的一种示例性实施例中,所述用户交互视图包括一个或者多个用户交互接口,所述方法还包括:采用相应平台的原生语言编写所述用户交互接口。本公开的一种示例性实施例中,所述方法还包括:给所述用户交互视图的各个子视图分别设置唯一的标识;保存所述唯一的标识与各个子视图之间的映射关系。本公开的一种示例性实施例中,所述方法还包括:配置第三视图,其中所述第三视图的层级低于所述第二视图的层级。根据本公开实施例的第二方面,提供一种触摸事件响应处理系统,所述系统包括:配置模块,用于配置第一视图和第二视图,其中所述第一视图的层级高于所述第二视图的层级;判断模块,用于当接收到触摸事件时,判断所述触摸事件发生的位置;第一响应模块,用于当所述触摸事件发生在所述第一视图的区域时,由所述第一视图对所述触摸事件进行响应;第二响应模块,用于当所述触摸事件发生在所述第二视图的不与所述第一视图重叠的区域时,由所述第二视图对所述触摸事件进行响应。本公开的一种示例性实施例中,所述第一视图为用户交互视图,其中所述用户交互视图包括一个或多个子视图,所述子视图为按钮视图、文字视图、图片视图中的一种或者多种。本公开的一种示例性实施例中,所述用户交互视图的各个子视图采用节点树的形式管理,所述系统还包括:添加模块,用于将各个子视图添加到相应平台的渲染节点上。本公开的一种示例性实施例中,所述用户交互视图包括采用相应平台的原生语言编写的一个或者多个用户交互接口。本公开的一种实施例中的触摸事件响应处理方法及系统,可以通过配置层级比第二视图的层级高的第一视图,并且通过判断触摸事件的位置来确定响应该触摸事件的视图。与现有技术相比,不会形成一个视图阻拦另一视图操作的情况,使得触摸事件能够分别对不同层级的视图进行操作。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:图1示意性示出了本公开的示例性实施例中的一种触摸事件响应处理方法的流程图;图2示意性示出了本公开的示例性实施例中的各个视图的一种节点树管理方式的示意图;图3示意性示出了本公开的示例性实施例中的各个视图的另一种节点树管理方式的示意图;图4示意性示出了本公开的示例性实施例中的另一种触摸事件响应处理方法的流程图;图5示意性示出了本公开示例性实施例中一种触摸事件响应处理系统的方框图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。本示例性实施方式中首先提供了一种触摸事件响应处理方法,该触摸事件响应处理方法主要应用于一触控终端。该触控终端例如可以为手机、平板电脑、笔记本电脑、游戏机、PDA(PersonalDigitalAssistant,掌上电脑)等各种具备触控屏幕的电子设备。但需要说明的是,在部分非触控终端中也可能通过模拟器等方式将键盘以及鼠标操作模拟为触控操作,这种方式同样可以视为本公开中所述的触控终端。参考图1,所述触摸事件响应处理方法可以包括以下步骤。S11:配置第一视图和第二视图,其中所述第一视图的层级高于所述第二视图的层级。在示例性实施例中,所述第一视图可以为用户交互视图(UIView)。在示例性实施例中,所述第二视图可以为地图视图,例如在游戏引擎下集成的第三方的LBS本文档来自技高网
...
触摸事件响应处理方法及系统

【技术保护点】
一种触摸事件响应处理方法,其特征在于,包括:配置第一视图和第二视图,其中所述第一视图的层级高于所述第二视图的层级;当接收到触摸事件时,判断所述触摸事件发生的位置;当所述触摸事件发生在所述第一视图的区域时,由所述第一视图对所述触摸事件进行响应;当所述触摸事件发生在所述第二视图的不与所述第一视图重叠的区域时,由所述第二视图对所述触摸事件进行响应。

【技术特征摘要】
1.一种触摸事件响应处理方法,其特征在于,包括:配置第一视图和第二视图,其中所述第一视图的层级高于所述第二视图的层级;当接收到触摸事件时,判断所述触摸事件发生的位置;当所述触摸事件发生在所述第一视图的区域时,由所述第一视图对所述触摸事件进行响应;当所述触摸事件发生在所述第二视图的不与所述第一视图重叠的区域时,由所述第二视图对所述触摸事件进行响应。2.根据权利要求1所述的触摸事件响应处理方法,其特征在于,所述第一视图为用户交互视图,其中所述用户交互视图包括一个或多个子视图,所述子视图为按钮视图、文字视图、图片视图中的一种或者多种。3.根据权利要求2所述的触摸事件响应处理方法,其特征在于,所述用户交互视图的各个子视图采用节点树的形式进行管理,所述方法还包括:将所述各个子视图添加到相应平台的渲染节点上。4.根据权利要求2所述的触摸事件响应处理方法,其特征在于,所述用户交互视图包括一个或者多个用户交互接口,所述方法还包括:采用相应平台的原生语言编写所述用户交互接口。5.根据权利要求2至4中任一项所述的触摸事件响应处理方法,其特征在于,所述方法还包括:给所述用户交互视图的各个子视图分别设置唯一的标识;保存所述唯一的标识与各个子视图之间的映射关...

【专利技术属性】
技术研发人员:沈俊毅
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1