本发明属于互联网技术领域,尤其涉及一种界面逻辑执行方法以及装置、电子设备、介质。
背景技术:
目前,视频直播是一种流行直播方式,用户通过各种终端设备进入直播平台的直播房间观看视频直播。
以游戏直播为例,用户会在通过直播程序(比如直播客户端)观看游戏直播的同时,可能会打开游戏程序(比如游戏客户端)玩游戏。也就是说,用户在终端界面中同时加载游戏程序和直播程序各自的显示窗口,此时用户对终端界面发出的界面操作可能会同时触发游戏程序和直播程序各自的界面逻辑,导致界面逻辑执行错误的问题,影响用户体验。
技术实现要素:
本发明提供了一种界面逻辑执行方法以及装置、电子设备、介质,以解决同一界面操作同时触发多个界面逻辑而引发的界面逻辑执行错误的技术问题。
第一方面,本发明提供了一种界面逻辑执行方法,该方法应用于显示界面,显示界面中加载有第一显示窗口和第二显示窗口,该方法包括:
接收对显示界面发出的界面操作;
获取显示界面中与界面操作对应的可操作对象;
若与界面操作对应的可操作对象为多个,则根据预测策略从多个可操作对象中选取出展示于第一显示窗口或者第二显示窗口的目标操作对象;
触发目标操作对象对应的动作逻辑,以使界面操作得到执行。
在一种可能的实施例中,第一显示窗口对应第一应用程序,第二显示窗口对应第二应用程序。
若从多个可操作对象中选取出展示于第一显示窗口的目标操作对象,则方法还包括:判断目标操作对象是否关联于第二应用程序;若目标操作对象关联于第二应用程序,则在第二应用程序中执行界面操作的关联操作。
在一种可能的实施例中,第一应用程序为直播程序,第二应用程序为游戏程序,第二显示窗口为游戏程序的显示窗口。
若目标操作对象关联于游戏程序,则方法还包括:在游戏程序的显示窗口中展示提示消息,提示消息用于反映关联操作的操作结果。
在一种可能的实施例中,第一显示窗口对应游戏程序。
根据预设策略从多个可操作对象中选取出展示于第一显示窗口或者第二显示窗口的目标操作对象,包括:确定游戏程序中玩家操作对象所处的当前状态;从多个可操作对象中选取出匹配于玩家操作对象的当前状态的目标操作对象。
在一种可能的实施例中,确定游戏程序中玩家操作对象所处的当前状态,包括:获取游戏程序中玩家操作对象的历史行为数据;基于历史行为数据确定玩家操作对象所处的当前状态。
在一种可能的实施例中,若玩家操作对象所处的当前状态为战斗状态,则从多个可操作对象中选取出匹配于玩家操作对象的当前状态的目标操作对象,包括:从多个可操作对象中选取出游戏程序的可操作对象作为目标操作对象。
在一种可能的实施例中,从多个可操作对象中选取出游戏程序的可操作对象作为目标操作对象,包括:确定游戏程序的至少两个可操作对象各自对应的操作类型;获取战斗状态对应的目标操作类型;从至少两个可操作对象中选取出与目标操作类型对应的可操作对象作为目标操作对象。
在一种可能的实施例中,第二显示窗口对应直播程序。
若玩家操作对象所处的当前状态为非战斗状态,则从多个可操作对象中选取出匹配于玩家操作对象的当前状态的目标操作对象,包括:获取对显示界面发出的多个历史界面操作;确定界面操作与多个历史界面操作的关联性;若界面操作关联于对游戏程序发出的历史界面操作,则从多个可操作对象中选取与游戏程序关联的可操作对象作为目标操作对象;或者若界面操作关联于对直播程序发出的历史界面操作,则从多个可操作对象中选取与直播程序关联的可操作对象作为目标操作对象。
在一种可能的实施例中,若界面操作关联于对游戏程序或直播程序发出的连续界面操作,则目标操作对象为多个可操作对象中与连续界面操作关联的可操作对象。
在一种可能的实施例中,界面操作关联于游戏程序的游戏任务。
从多个可操作对象中选取与游戏程序关联的可操作对象作为目标操作对象,包括:判断界面操作是否关联于游戏任务中的待触发情节或待获取对象;基于判断结果从多个可操作对象中选取与待触发情节或待获取对象关联的可操作对象作为目标操作对象。
在一种可能的实施例中,若玩家操作对象所处的当前状态为非战斗状态,则从多个可操作对象中选取出匹配于玩家操作对象的当前状态的目标操作对象,包括:根据显示界面的布局信息,确定多个可操作对象在显示界面中的位置;根据多个可操作对象在显示界面中的位置,选取处于显示界面的视觉重点区域的可操作对象作为目标操作对象。
在一种可能的实施例中,处于显示界面的视觉重点区域的可操作对象包括以下之一:与显示界面中心距离小于阈值的可操作对象、处于显示界面最上层的可操作对象、处于可操作区域中右侧部分的可操作对象。
第二方面,本发明提供了一种界面逻辑执行装置,应用于显示界面,显示界面中加载有第一显示窗口和第二显示窗口,装置包括:
收发模块,用于接收对显示界面发出的界面操作;
处理模块,用于获取显示界面中与界面操作对应的可操作对象;若与界面操作对应的可操作对象为多个,则根据预测策略从多个可操作对象中选取出展示于第一显示窗口或者第二显示窗口的目标操作对象;触发目标操作对象对应的动作逻辑,以使界面操作得到执行。
第三方面,本发明实施例提供一种电子设备,其中包括处理器和存储器,其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现第一方面中的界面逻辑执行方法。
本发明实施例又提供了一种系统,包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由所述处理器加载并执行以实现上面描述的一种界面逻辑执行方法。
本发明实施例进一步提供了一种计算机可读介质,其上存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上面描述的一种界面逻辑执行方法。
本发明实施例中,针对显示界面中加载有第一显示窗口和第二显示窗口的情况,接收对显示界面发出的界面操作,获取显示界面中与界面操作对应的可操作对象。进而,若与界面操作对应的可操作对象为多个,则此时需要判断哪一个可操作对象为用户意图操作的目标操作对象,此情况下可以根据预测策略从多个可操作对象中选取出展示于第一显示窗口或者第二显示窗口的目标操作对象,从而触发目标操作对象对应的动作逻辑,以使界面操作得到执行。本发明实施例通过从多个可操作对象中筛选出用户意图操作的目标操作对象,并执行该目标操作对象对应的动作逻辑,避免同一操作对应于多个界面逻辑的情况下因误判操作对象而引发的界面逻辑执行错误的问题,实现用户意图达到的界面效果,提升用户体验。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明一实施例提供的一种界面逻辑执行方法的流程示意图;
图2为本发明一实施例提供的一种显示界面的示意图;
图3为本发明一实施例提供的一种界面逻辑执行装置的结构示意图;
图4为与图3所示实施例提供的界面逻辑执行装置对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
本发明实施例提供的界面逻辑执行方案可以由一电子设备来执行,该电子设备可以是诸如智能手机、平板电脑、pc机、笔记本电脑等终端设备。在一可选实施例中,该电子设备上可以安装有用于执行界面逻辑执行方案的服务程序。服务程序比如是游戏程序(本文也称为游戏程序)。该界面逻辑执行方案也可以由游戏程序以及与游戏程序的服务器共同执行。当然,该界面逻辑执行方案还可以由服务器和终端设备配合执行。
在各种终端设备中,用户可以观看到由游戏程序提供的游戏界面,并在游戏界面中进行交互操作。当然,游戏界面也可以由网页或介质提供。随着游戏领域的发展,游戏程序可以承载于各种终端设备。以手机为例,在手机的游戏界面中提供的交互内容越来越多,各种交互内容对应的界面逻辑控制方式常常发生冲突。实际上,游戏程序的界面逻辑还会和其他应用程序中的界面逻辑相互冲突。
下面以手机为例说明现有技术中实际存在的技术问题:
手机多采用无按键的触摸屏,为避免在手机端的直播界面中设置过多按键,手机端的直播界面中常常单击、拖动等触控操作来控制各种界面逻辑。
以游戏直播场景为例,用户会在通过直播程序观看游戏直播的同时,可能会打开游戏程序玩游戏。也就是说,用户在终端界面中同时加载游戏程序和直播程序各自的显示窗口,此情况下,由于手机中界面操作方式所限,用户对终端界面发出的界面操作可能会同时触发游戏程序和直播程序各自的界面逻辑,导致界面逻辑执行错误的问题。
以单击操作为例,用户单击到两个显示窗口的重叠区域想要在游戏程序中获取道具,此情况下,如果直播程序中的主播关注按键也处于重叠区域,为响应该单击操作可能会将直播程序中的主播关注按键作为操作对象,造成界面逻辑执行错误,造成用户体验不佳。
再比如,游戏程序中玩家操作对象处于战斗状态,此时通过手指在手机屏幕上的横向滑动操作可以触发该玩家操作对象释放某一技能,而同时该横向滑动操作在直播程序中则用于控制直播内容的播放进度,比如回放已播放的直播内容。假设该横向滑动操作同时落入游戏程序和直播程序各自的显示窗口,那么,往往哪一判断为响应该横向滑动操作需要触发哪一个客户端的界面执行逻辑。
综上,针对终端界面中同一界面操作对应于多个界面逻辑的情况,容易引发界面逻辑执行错误,造成用户体验不佳。
本发明实施例提供的界面逻辑执行方案的核心思想是:
针对显示界面中加载有第一显示窗口和第二显示窗口的情况,接收对显示界面发出的界面操作,获取显示界面中与界面操作对应的可操作对象。进而,若与界面操作对应的可操作对象为多个,则此时需要判断哪一个可操作对象为用户意图操作的目标操作对象,此情况下可以根据预测策略从多个可操作对象中选取出展示于第一显示窗口或者第二显示窗口的目标操作对象,从而触发目标操作对象对应的动作逻辑,以使界面操作得到执行。本发明实施例通过从多个可操作对象中筛选出用户意图操作的目标操作对象,并执行该目标操作对象对应的动作逻辑,避免同一界面操作对应于多个界面逻辑的情况下因误判操作对象而引发的界面逻辑执行错误的问题,实现用户意图达到的界面效果,提升用户体验。
在介绍了界面逻辑执行方案的核心思路之后,下面具体介绍本发明的各种非限制性实施例。
下面结合以下实施例对界面逻辑执行方法的执行过程进行说明。
图1为本发明实施例提供的一种界面逻辑执行方法的流程示意图。该界面逻辑执行方法应用于显示界面,该显示界面中加载有第一显示窗口和第二显示窗口(本文中“第一”、“第二”仅用于区分,并不对显示窗口的数量或类型进行限制)。如图1所示,该界面逻辑执行方法包括如下步骤:
101、接收对显示界面发出的界面操作;
102、获取显示界面中与界面操作对应的可操作对象;
103、若与界面操作对应的可操作对象为多个,则根据预测策略从多个可操作对象中选取出展示于第一显示窗口或者第二显示窗口的目标操作对象;
104、触发目标操作对象对应的动作逻辑,以使界面操作得到执行。
上述界面逻辑执行方法中,针对与界面操作对应的多个可操作对象,从多个可操作对象中筛选出用户意图操作的目标操作对象,并执行该目标操作对象对应的动作逻辑,可以避免同一界面操作对应于多个界面逻辑的情况下因误判操作对象而引发的界面逻辑执行错误的问题,从而实现用户意图达到的界面效果,提升用户体验。
本发明实施例应用于各种显示界面。上述步骤中提到的显示界面,可以是终端设备中加载的显示界面,比如手机、智能电视、电脑。该显示界面中的展示内容可以是由服务设备传输至终端设备的数据构建的,也可以是由通过安装包预先加载到终端设备中的数据构建的。
为满足用户的实际需求,显示界面中会加载有不同显示窗口。不同显示窗口分别对应不同应用程序。比如,在游戏直播场景下,用户可能会边玩游戏边直播(或观看直播),此情况下,显示界面中加载有游戏程序和直播程序各自的显示窗口。
实际上,本发明实施例还适用于显示界面中加载有多种应用程序的应用场景,比如,显示界面中加载的多种应用程序可以是游戏程序、视频播放客户端以及浏览器的组合,也可以是游戏程序和绘图客户端的组合,还可以是游戏程序和游戏编辑器的组合。
另外,还需理解的是,不同显示窗口之间的位置关系可以相互重叠,也可以并列排布。当然,在一些实现方式中,显示界面响应于用户的控制指令,动态调整不同显示窗口之间的位置关系。
为便于描述,下文以各种终端中的游戏直播场景为例,详细说明图1示出的界面逻辑执行方法的具体执行过程:
在游戏直播场景下,显示界面中加载有第一显示窗口和第二显示窗口。
首先,101中,接收对显示界面发出的界面操作。
上述步骤中,根据实际情况,对不同类型的显示界面发出的界面操作不同。以手机中加载的显示界面为例,用户接触手机屏幕之后,通过传感器接收对手机发出的触控操作,比如单击、双击、滑动、以及对应具体功能的各种控制手势。当然,也可以通过重力传感器获取对手机发出的体感控制指令,从而基于体感控制指令获取对应的界面操作。再例如,电脑的显示界面中,可以通过输入设备(鼠标、键盘等)接收对电脑发出的界面操作,比如单击、双击、拖动以及通过键盘输入的各种操作指令。
当然,除上述界面操作的获取方式外,也可以通过摄像头或其他图像采集设备采集用户图像数据,并基于用户图像数据解析出用户所发出的界面操作。
进而,接收界面操作之后,102中,获取显示界面中与界面操作对应的可操作对象。
其中,显示界面中至少包括一个可操作对象。可操作对象是显示界面中可以与用户交互的界面元素。可操作对象可以通过终端设备搭载的显示界面呈现,当然,可操作对象在显示界面中也可以处于隐藏状态,比如,将游戏程序中某一道具或npc设置为在触发其对应的界面逻辑之前,在显示界面中不展示该道具或npc。
显示界面加载有不同显示窗口,不同显示窗口分别对应不同应用程序。而可操作对象分别设置于各种应用程序中,并通过各种应用程序对应的显示窗口进行展示。以游戏程序为例,设置于游戏程序的可操作对象通过游戏程序对应的显示窗口展示给用户。设置于游戏程序的可操作对象比如是玩家操作对象(即玩家控制的游戏角色)、npc、道具。以直播程序为例,假设直播程序为直播网站,直播程序的显示窗口为直播网站的直播页面,直播页面即包含直播内容的网站页面,此处,展示于直播页面的可操作对象比如是直播页面中的界面控件。具体地,直播页面中的界面控件比如是直播房间窗口、标题栏、直播房间列表栏、界面按钮、列表栏、以及用于跳转至其他页面的窗口(比如广告弹窗等)。
其中,与界面操作对应的可操作对象可以是一个或多个。可选地,与界面操作对应的多个可操作对象分别处于不同可操作区域。具体地,多个可操作对象分别对应于显示界面中相互重叠的不同显示窗口,不同显示窗口分别对应于不同应用程序。实际上,不同可操作区域比如是处于不同层级的底图层、列表层、弹窗。可选地,这些处于不同层级的可操作区域相互叠加。不同可操作区域也可以处于同一层级。
可以理解的是,如果某一可操作对象的界面逻辑触发方式包括101中接收到的界面操作,则认为该可操作对象是上述步骤中涉及的与界面操作对应的可操作对象。基于此,102的一种可选实现方式比如是:
确定该界面操作在显示界面中的轨迹,从而,基于该界面操作的轨迹以及各个可操作对象的界面逻辑触发方式,确定显示界面中与该界面操作对应的可操作对象。
例如:假设显示界面为图2示出的显示界面。该显示界面中加载有游戏程序和直播程序各自对应的显示窗口,直播程序的显示窗口悬浮于游戏程序的显示窗口的右下角。图2中,游戏程序的显示窗口包括玩家操作对象a、待攻击对象b、攻击道具c;直播程序的显示窗口包括标题栏、位于显示窗口中央的直播房间窗、以及位于显示窗口右侧的其他直播房间跳转空间,即房间1至3。假设用户通过手指在显示界面中发出拖动操作。假设当前显示界面中的可操作对象包括玩家操作对象a、待攻击对象b、攻击道具c、直播房间窗口、音量控件、亮度控件。其中,音量控件和亮度控件可以是被选取后再展示于显示界面的可操作对象。
基于上述假设,手机检测到通过传感器接收对手机屏幕发出的拖动操作之后,确定该拖动操作在显示界面中的轨迹,比如图2示出的向右侧拖动的轨迹m。此情况下,基于该拖动操作在显示界面中的轨迹m(图2中,该轨迹m覆盖到游戏程序和直播程序各自对应的显示窗口),以及各个可操作对象的界面逻辑触发方式,确定与该拖动操作对应的可操作对象为游戏程序中的攻击道具c(攻击道具c的触发方式为向游戏程序的显示窗口施加拖动操作)和直播程序中的音量控件(音量控件的触发方式为向直播程序的显示窗口施加拖动操作)。
再例如:假设接收到的界面操作为单击操作。假设设置于游戏程序的可操作对象包括玩家操作对象、攻击道具、玩家需要攻击的npc。假设设置于直播程序的可操作对象包括礼物控件、音量控件。基于上述假设,102中,确定该界面操作在显示界面中的轨迹(比如在显示界面中的接触点x),从而,基于接触点x以及各个可操作对象的界面逻辑触发方式,确定显示界面中与该单击操作对应的可操作对象为游戏程序中的玩家操作对象、攻击道具、玩家需要攻击的npc、以及直播程序中的礼物控件。实际上,单击操作还需要考虑到单击操作的位置。例如,假设单击操作的位置处于攻击道具和礼物控件的叠加部分,此情况下,与单击操作对应的可操作对象应是攻击道具和礼物控件。
实际情况中,根据不同显示界面以及不同界面操作,获取显示界面中与界面操作对应的可操作对象有多种,本发明中不做限定。
进而,假设102中获取的与界面操作对应的可操作对象为一个,此情况下,显然可以直接判定用户意图操作的可操作对象,进而,可以直接执行与该可操作对象对应的预设界面逻辑,与用户进行交互,从而使该界面操作得到执行。
进而,假设102中获取的与界面操作对应的可操作对象为多个,此情况下,无法直接判定用户意图操作的可操作对象,相对直播程序(以及其他应用程序)中的界面逻辑,游戏程序中的界面逻辑对操作实时性的要求更高,因此,为保证游戏程序的操作实时性,103中,若与界面操作对应的可操作对象为多个,则根据预测策略从多个可操作对象中选取出展示于第一显示窗口或者第二显示窗口的目标操作对象。
根据各种界面操作的实际情况,同一界面操作对应多个可操作对象的情况有多种。例如,继续假设展示于第一显示窗口或者第二显示窗口的可操作对象包括玩家操作对象、攻击道具、玩家需要攻击的npc。假设设置于直播程序的可操作对象包括礼物控件、音量控件。基于此,对于加载有游戏程序和直播程序的显示界面而言,横向滑动操作对应的可操作对象比如是:攻击道具和音量控件。或者,与单击操作对应的可操作对象比如是:攻击道具、以及礼物控件。
假设第一显示窗口对应游戏程序,基于此,103中,根据预测策略从多个可操作对象中选取出展示于第一显示窗口或者第二显示窗口的目标操作对象的可选实施方式:
确定游戏程序中玩家操作对象所处的当前状态;从多个可操作对象中选取出匹配于玩家操作对象的当前状态的目标操作对象。
上述步骤中,根据玩家操作对象所处状态从多个可操作对象中筛选出与当前状态匹配的目标操作对象,使得界面操作能够及时触发符合玩家操作对象当前状态的可操作对象,从而,进一步保证界面操作的实时性。
其中,玩家操作角色,指的是承载游戏功能玩法的主体,负责与游戏玩家进行交互。在游戏场景中,玩家操作角色可以与各种交互对象进行交互。交互对象可以是游戏场景中的npc,该npc为非玩家控制单位,可以根据预设的执行逻辑与玩家进行交互,不同玩法中的npc功能可以不一样。
在游戏程序中,玩家操作对象所处的当前状态包括:战斗状态和非战斗状态。非战斗状态包括物品收集状态、游戏副本状态等。实质上,无论何种称谓,战斗状态对界面操作的实时性要求较高,非战斗状态则对界面逻辑的实时性要求较低。
实际上,103中,确定游戏程序中玩家操作对象所处的当前状态的一种可选实施方式:获取游戏程序中玩家操作对象的历史行为数据;基于历史行为数据确定玩家操作对象所处的当前状态。可选地,为保证界面操作触发对象的实时性,玩家操作对象的历史行为数据可以设置为预设时段内的历史行为数据。
例如,游戏程序中玩家操作对象在3分钟内的历史行为数据包括:进入游戏副本。基于进入游戏副本的历史行为数据,确定玩家操作对象所处的当前状态为游戏副本状态。
另一种可选实施方式中,通过获取玩家操作对象的配置信息,确定玩家操作对象所处的当前状态。配置信息例如可以从服务器侧获取,也可以从终端设备本地获取。
进而,下面结合具体示例说明,在玩家操作对象所处的不同状态下,从多个可操作对象中选取出匹配于玩家操作对象的当前状态的目标操作对象的几种可选实施方式:
在本发明的一实施例中,103中,若玩家操作对象所处的当前状态为战斗状态,则提供了从多个可操作对象中选取出匹配于玩家操作对象的当前状态的目标操作对象的一种可选实施方式:
从多个可操作对象中选取出游戏程序的可操作对象作为所述目标操作对象。
可选地,从多个可操作对象中选取出游戏程序的可操作对象作为目标操作对象的一种实现方式比如是:
确定游戏程序的至少两个可操作对象各自对应的操作类型;获取战斗状态对应的目标操作类型;从至少两个可操作对象中选取出与目标操作类型对应的可操作对象作为目标操作对象。
其中,游戏程序的可操作对象对应于至少一个操作类型。可选地,操作类型比如包括:攻击技能类、防御技能类、魔法技能类、治疗技能类。与上述操作类型对应的可操作对象分别是攻击道具、防御道具、魔法道具、补血道具。
实际上,根据游戏设定的不同,操作类型也包括多种情况。为丰富玩家操作体验,操作类型也可以由玩家自行定义。
例如,假设与界面操作对应的多个可操作对象为游戏程序的攻击道具、防御道具。假设预设时段为2分钟。假设玩家操作对象在预设时段内的历史行为数据为:看到攻击对象,具体地,在玩家视角中出现攻击对象(即攻击对象所处位置与玩家操作对象所处位置的距离小于预设值),并且攻击对象并未对该玩家操作对象先发起攻击。
基于上述假设,103中,获取游戏程序中玩家操作对象在2分钟内的历史行为数据(即看到攻击对象),基于看到攻击对象的历史行为数据确定玩家操作对象所处的当前状态为主动发起战斗的状态,从而,确定游戏程序的攻击道具和防御道具各自对应的操作类型即攻击技能类、防御技能类,此情况下,由于玩家主动发现攻击对象,可以确定玩家操作对象在此状态下对应的目标操作类型为攻击技能类,从攻击道具和防御道具中选取出与攻击技能类对应的攻击道具作为目标操作对象。
再例如,假设玩家操作对象在预设时段内的历史行为数据为:受到npc攻击,此时,基于受到npc攻击的历史行为数据确定玩家操作对象所处的当前状态为主动发起防御的状态,从而,确定游戏程序的攻击道具和防御道具各自对应的操作类型即攻击技能类、防御技能类,此情况下,可以确定玩家操作对象在此状态下对应的目标操作类型为防御技能类,从攻击道具和防御道具中选取出与防御技能类对应的防御道具作为目标操作对象。
上述实施例中,无论采用何种实现方式,其实际意图都是通过玩家操作对象所处状态的进一步判断从多个可操作对象中进一步筛选出用户意图操控的目标操作对象,使得后续能够及时触发与目标操作对象对应的动作逻辑,从而,保证界面操作的实时性。
在本发明的再一实施例中,假设第二显示窗口对应直播程序,基于此,若玩家操作对象所处的当前状态为非战斗状态,则103中还提供了从多个可操作对象中选取出匹配于玩家操作对象的当前状态的目标操作对象的一种可选实施方式:
获取对显示界面发出的多个历史界面操作;确定界面操作与多个历史界面操作的关联性;若界面操作关联于对游戏程序发出的历史界面操作,则从多个可操作对象中选取与游戏程序关联的可操作对象作为目标操作对象;若界面操作关联于对直播程序发出的历史界面操作,则从多个可操作对象中选取与直播程序关联的可操作对象作为目标操作对象。
上述步骤中,根据历史界面操作与当前接收到的界面操作的关联性,从多个可操作对象中筛选出与游戏程序或直播程序关联的目标操作对象,使得后续能够及时触发目标操作对象对应的动作逻辑,从而,保证界面操作的实时性。
具体地,判断接收到的界面操作是否关联于多个历史界面操作,若判定该界面操作关联于对游戏程序或直播程序发出的连续界面操作,则说明该界面操作与此前出现的连续界面操作存在关联性,此情况下,优先以多个可操作对象中与连续界面操作关联的可操作对象作为目标操作对象。
其中,连续界面操作可以理解为执行顺序连续且动作类型一致的多个界面操作。比如对某一类型物品的多次单击选取动作。
假设对显示界面发出的多个历史界面操作包括:对游戏程序发出的连续界面操作。基于上述假设,提供了103,确定界面操作与多个历史界面操作的关联性的一种可选实施方式:判断接收到的界面操作是否关联于多个历史界面操作,若判定界面操作关联于对游戏程序发出的连续界面操作,则目标操作对象为:游戏程序的与这些连续界面操作关联的可操作对象。
实际应用中,当前接收到的界面操作与连续界面操作的关联性可以依据于界面操作类型判断。比如当前接收到的界面操作与连续界面操作属于同一类型操作,则可以判定接收到的界面操作关联于连续界面操作。
当然,对于某些界面操作类型,还需要结合其他信息界面操作信息进行判断。比如,对于滑动操作,还需要判断当前接收到的界面操作与连续界面操作的滑动轨迹是否一致,若一致,则判定接收到的界面操作关联于连续界面操作。或者,还可以判断当前接收到的界面操作与连续界面操作的滑动方向是否一致,若一致,则判定接收到的界面操作关联于连续界面操作。再比如,对于单击操作,实际上也需要结合单击操作的操作位置进行判断。
进而,若判定接收到的界面操作关联于连续界面操作,则从多个可操作对象中选取与连续界面操作关联的目标操作对象。
根据实际情况,连续界面操作可以针对于同一个可操作对象,也可以针对于同一类型的可操作对象。
对于针对同一个可操作对象的连续界面操作,从多个可操作对象中选取与连续界面操作关联的目标操作对象,具体为:
若连续界面操作的执行对象为游戏程序中的同一个可操作对象,则从多个可操作对象中选取与执行对象一致的可操作对象作为目标操作对象。
例如,假设玩家需要补血时发出连续界面操作即多次单击医疗包。假设直播程序向用户推送的直播间互动弹窗覆盖在医疗包上。此时与单击操作对应的可操作对象包括医疗包和弹窗。基于此,由于多次单击的执行对象为游戏程序中的同一个医疗包,此情况下,可以从医疗包和弹窗中选取医疗包作为目标操作对象。
对于针对同一类型的可操作对象的连续界面操作,从多个可操作对象中选取与连续界面操作关联的目标操作对象,具体为:
若连续界面操作的执行对象为游戏程序中的同一类型可操作对象,则从多个可操作对象中选取与执行对象属于同一类型的可操作对象作为目标操作对象。
例如,假设玩家需要收集蘑菇时发出连续界面操作即多次单击蘑菇,以收集地上长出的多个蘑菇。此情况下,连续界面操作的执行对象为游戏程序中的多个蘑菇。假设直播程序向用户推送的直播间互动信息覆盖在部分蘑菇上。假设单击操作落在互动信息和蘑菇重叠的区域,此情况下,与单击操作对应的可操作对象包括被遮挡的蘑菇和互动信息。
基于此,由于多次单击的执行对象为游戏程序中的同一类型可操作对象,即多个蘑菇,此情况下,可以从被遮挡的蘑菇和互动信息中选取被遮挡的蘑菇作为目标操作对象。
再例如,假设玩家正在直播程序中多次单击礼物按键来送礼物。假设游戏程序向用户推送的某一游戏副本的触发通知(包含开启选项)覆盖在礼物按键上。此时与单击操作对应的可操作对象包括触发通知和礼物按键。基于此,由于多次单击的执行对象为直播程序中的同一个礼物按键,此情况下,可以从触发通知和礼物按键中选取礼物按键作为目标操作对象。
实际上,无论采用何种实现方式,其实际意图都是通过历史界面操作与当前接收到的界面操作的关联性,从多个可操作对象中筛选出用户意图操控的目标操作对象,使得后续能够及时触发与目标操作对象对应的动作逻辑,从而,保证界面操作的实时性。
在本发明的又一实施例中,假设第二显示窗口对应直播程序,假设对游戏程序发出的历史界面操作对应于游戏程序的游戏任务。基于此,若玩家操作对象所处的当前状态为非战斗状态,则103中还提供了从多个可操作对象中选取出匹配于玩家操作对象的当前状态的目标操作对象的一种可选实施方式:
判断界面操作是否关联于游戏任务中的待触发情节或待获取对象;基于判断结果从多个可操作对象中选取与待触发情节或待获取对象关联的可操作对象作为目标操作对象。
上述步骤中,根据当前接收到的界面操作与游戏任务的关联性,从多个可操作对象中筛选出与游戏程序或直播程序关联的目标操作对象,使得后续能够及时触发目标操作对象对应的动作逻辑,从而,保证界面操作的实时性。
具体地,判断当前接收到的界面操作是否对应于游戏任务中的待触发情节或待获取对象,若判定当前接收到的界面操作对应于游戏任务中的待触发情节,则从多个可操作对象中选取与待触发情节关联的可操作对象作为目标操作对象。若判定当前接收到的界面操作对应于游戏任务中的待获取对象,则从多个可操作对象中选取与待获取对象一致的可操作对象作为目标操作对象。
例如,假设玩家接受蘑菇收集任务。假设直播程序向用户推送的直播间互动信息覆盖在部分蘑菇上。假设单击操作落在互动信息和蘑菇的重叠区域,此情况下,与单击操作对应的可操作对象包括被遮挡的蘑菇和互动信息。
基于上述假设,判断接收到的单击操作是否关联于蘑菇收集任务中的待获取对象(即蘑菇),由于接收到的单击操作落在互动信息和蘑菇的重叠区域,而蘑菇为玩家正在执行的游戏任务中的待获取对象,此情况下,判定该单击操作与蘑菇收集任务中的待获取对象存在关联,从而,从被遮挡的蘑菇和互动信息中选取蘑菇作为目标操作对象。
在本发明的再一实施例中,假设第二显示窗口对应直播程序。基于此,若玩家操作对象所处的当前状态为非战斗状态,则103中还提供了从多个可操作对象中选取出匹配于玩家操作对象的当前状态的目标操作对象的一种可选实施方式:
根据显示界面的布局信息,确定多个可操作对象在显示界面中的位置;根据多个可操作对象在显示界面中的位置,选取处于显示界面的视觉重点区域的可操作对象作为目标操作对象。
由于非战斗状态对游戏程序操控的实时性要求不高,用户有动机操控其他应用程序中的可操作对象,故而,上述步骤中,可以根据显示界面的布局信息从视觉角度筛选出与游戏程序或直播程序关联的目标操作对象,使得后续能够及时触发目标操作对象对应的动作逻辑,保证界面操作的实时性。
其中,处于显示界面的视觉重点区域的可操作对象包括但不限于:与显示界面中心距离小于阈值的可操作对象、处于显示界面最上层的可操作对象、处于可操作区域中右侧部分的可操作对象。实际应用中,显示界面包括可操作区域。假设用户选取处于可操作区域中右侧部分的可操作对象的概率,高于选取可操作区域中左侧部分的可操作对象的概率,因此,根据多个可操作对象在显示界面中的位置,可以优先选取处于可操作区域中右侧部分的可操作对象作为目标对象,以便更贴近用户使用习惯。
可选地,视觉重点区域可以根据用户行为数据预先设置,也可以由用户主动设置。比如,可以根据用户偏好数据对视觉重点区域进行设置。
最终,通过上述任一实施方式从多个可选操作对象中选取目标操作对象之后,104中,触发目标操作对象对应的动作逻辑,以使界面操作得到执行。其中,目标操作对象对应的动作逻辑,是指目标操作对象所在应用程序中的功能逻辑或界面效果。以游戏程序为例,攻击道具对应的动作逻辑比如是对攻击对象造成伤害的界面效果,补血道具对应的动作逻辑比如是对补血对象实施的治疗效果以及补血对象的属性调整逻辑,如增加补血道具对应的相应数值。
针对显示界面中在一可选实施例中,假设显示界面加载有第一显示窗口和第二显示窗口。假设目标操作对象属于第一显示窗口,并且界面操作为在第一显示窗口中对目标操作对象的界面操作。假设第一显示窗口对应于第一应用程序。
基于上述假设,103中筛选出目标操作对象之后,还可以判断目标操作对象是否关联于第二显示窗口对应的第二应用程序,若目标操作对象关联于第二应用程序,则在第二应用程序中执行界面操作的关联操作。
上述步骤中,在第二应用程序中执行界面操作的关联操作包括但不限于:消息提醒操作、区域广播操作、世界广播操作、调整可操作对象属性的操作。具体地,调整可操作对象属性的操作可以是调整与关联操作对应的物品数量等。
例如,假设第一应用程序为直播程序,第二应用程序为游戏程序。假设第二显示窗口为游戏程序的显示窗口。基于上述假设,在直播程序中送出游戏程序中的礼物道具时,可以在游戏程序中执行区域广播操作,从而生成对应的区域广播消息,用以某玩家通知送出礼物道具。此情况下,响应于送出礼物道具的关联操作,在游戏程序中将玩家背包中的礼物道具数量减1。
可选地,还可以在游戏程序的显示窗口中展示提示消息,该提示消息用于反映关联操作的操作结果。例如,在游戏程序中将玩家背包中的礼物道具数量减1之后,在游戏程序的显示窗口中展示对应的提示消息,用以通知玩家背包中的礼物道具数量减少的结果。或者,在游戏程序的显示窗口中还可以展示用于感谢送出道具礼物的提示消息。
这样,通过图1示出的界面逻辑执行方法,可以避免同一界面操作对应于多个界面逻辑的情况下出现界面逻辑执行错误的问题,达到用户意图实现的界面效果,改善用户体验。
以下将详细描述本发明的一个或多个实施例的界面逻辑执行装置。本领域技术人员可以理解,这些界面逻辑执行装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图3为本发明实施例提供的一种界面逻辑执行装置的结构示意图。该装置应用于各种显示界面,如图3所示,该界面逻辑执行装置包括:收发模块11、处理模块12。
收发模块11,用于接收对显示界面发出的界面操作;
处理模块12,用于获取所述显示界面中与所述界面操作对应的可操作对象;若与所述界面操作对应的可操作对象为多个,则根据预测策略从多个可操作对象中选取出展示于第一显示窗口或者第二显示窗口的目标操作对象;触发目标操作对象对应的动作逻辑,以使界面操作得到执行。
可选地,所述第一显示窗口对应第一应用程序,所述第二显示窗口对应第二应用程序。
若从多个可操作对象中选取出展示于所述第一显示窗口的所述目标操作对象,则所述处理模块12还用于:若从多个可操作对象中选取出展示于所述第一显示窗口的所述目标操作对象,则所述方法还包括:判断所述目标操作对象是否关联于所述第二应用程序;若所述目标操作对象关联于所述第二应用程序,则在所述第二应用程序中执行所述界面操作的关联操作。
可选地,所述第一应用程序为直播程序,所述第二应用程序为游戏程序,所述第二显示窗口为所述游戏程序的显示窗口。
若所述目标操作对象关联于所述游戏程序,则所述处理模块12还用于:在所述游戏程序的显示窗口中展示提示消息,所述提示消息用于反映所述关联操作的操作结果。
可选地,所述第一显示窗口对应游戏程序。所述处理模块12在根据预设策略从多个可操作对象中选取出展示于所述第一显示窗口或者所述第二显示窗口的目标操作对象时,具体用于:
确定所述游戏程序中玩家操作对象所处的当前状态;从多个可操作对象中选取出匹配于玩家操作对象的当前状态的目标操作对象。
可选地,所述处理模块12在确定所述游戏程序中玩家操作对象所处的当前状态时,具体用于:
获取所述游戏程序中玩家操作对象的历史行为数据;基于所述历史行为数据确定玩家操作对象所处的当前状态。
可选地,若玩家操作对象所处的当前状态为战斗状态,则所述处理模块12在从多个可操作对象中选取出匹配于玩家操作对象的当前状态的目标操作对象时,具体用于:
从多个可操作对象中选取出所述游戏程序的可操作对象作为所述目标操作对象。
可选地,所述处理模块12在从多个可操作对象中选取出所述游戏程序的可操作对象作为所述目标操作对象时,具体用于:
确定所述游戏程序的至少两个可操作对象各自对应的操作类型;获取所述战斗状态对应的目标操作类型;从至少两个可操作对象中选取出与所述目标操作类型对应的可操作对象作为所述目标操作对象。
可选地,所述第二显示窗口对应直播程序。若玩家操作对象所处的当前状态为非战斗状态,则所述处理模块12在从多个可操作对象中选取出匹配于玩家操作对象的当前状态的目标操作对时,具体用于:
获取对所述显示界面发出的多个历史界面操作;确定所述界面操作与所述多个历史界面操作的关联性;若所述界面操作关联于对所述游戏程序发出的历史界面操作,则从多个可操作对象中选取与所述游戏程序关联的可操作对象作为所述目标操作对象;或者若所述界面操作关联于对所述直播程序发出的历史界面操作,则从多个可操作对象中选取与所述直播程序关联的可操作对象作为所述目标操作对象。
可选地,若所述界面操作关联于对所述游戏程序或所述直播程序发出的连续界面操作,则所述目标操作对象为多个可操作对象中与所述连续界面操作关联的可操作对象。
可选地,所述界面操作关联于所述游戏程序的游戏任务。
所述处理模块12在从多个可操作对象中选取与所述游戏程序关联的可操作对象作为所述目标操作对象时,具体用于:
判断所述界面操作是否关联于所述游戏任务中的待触发情节或待获取对象;基于判断结果从多个可操作对象中选取与所述待触发情节或所述待获取对象关联的可操作对象作为所述目标操作对象。
可选地,若玩家操作对象所处的当前状态为非战斗状态,则所述处理模块12在从多个可操作对象中选取出匹配于玩家操作对象的当前状态的目标操作对象时,具体用于:
根据所述显示界面的布局信息,确定多个可操作对象在所述显示界面中的位置;根据多个可操作对象在所述显示界面中的位置,选取处于所述显示界面的视觉重点区域的可操作对象作为所述目标操作对象。
其中,可选地,所述处于所述显示界面的视觉重点区域的可操作对象包括以下之一:
与显示界面中心距离小于阈值的可操作对象、处于显示界面最上层的可操作对象、处于可操作区域中右侧部分的可操作对象。
图3所示界面逻辑执行装置可以执行前述各实施例中提供的方法,本实施例未详细描述的部分,可参考前述实施例的相关说明,在此不再赘述。
在一个可能的设计中,上述图3所示的界面逻辑执行装置的结构可实现为一电子设备。
如图4所示,该电子设备可以包括:处理器21、存储器22。其中,所述存储器22上存储有可执行代码,当所述可执行代码被所述处理器21执行时,至少使所述处理器21可以实现如前述实施例中提供的界面逻辑执行方法。其中,该电子设备的结构中还可以包括通信接口23,用于与其他设备或通信网络通信。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被无线路由器的处理器执行时,使所述处理器执行前述各实施例中提供的界面逻辑执行方法。
根据需要,本发明各实施例的系统、方法和装置可以实现为纯粹的软件(例如用java来编写的软件程序),也可以根据需要实现为纯粹的硬件(例如专用asic芯片或fpga芯片),还可以实现为结合了软件和硬件的系统(例如存储有固定代码的固件系统或者带有通用存储器和处理器的系统)。
本发明的另一个方面是一种计算机可读介质,其上存储有计算机可读指令,所述指令被执行时可实施本发明各实施例的方法。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。要求保护的主题的范围仅由所附的权利要求进行限定。
1.一种界面逻辑执行方法,其特征在于,显示界面中加载有第一显示窗口和第二显示窗口,所述方法包括:
接收对显示界面发出的界面操作;
获取所述显示界面中与所述界面操作对应的可操作对象;
若与所述界面操作对应的可操作对象为多个,则根据预测策略从多个可操作对象中选取出展示于所述第一显示窗口或者所述第二显示窗口的目标操作对象;
触发所述目标操作对象对应的动作逻辑,以使所述界面操作得到执行。
2.根据权利要求1所述的界面逻辑执行方法,其特征在于,所述第一显示窗口对应第一应用程序,所述第二显示窗口对应第二应用程序;
若从多个可操作对象中选取出展示于所述第一显示窗口的所述目标操作对象,则所述方法还包括:
判断所述目标操作对象是否关联于所述第二应用程序;
若所述目标操作对象关联于所述第二应用程序,则在所述第二应用程序中执行所述界面操作的关联操作。
3.根据权利要求2所述的界面逻辑执行方法,其特征在于,所述第一应用程序为直播程序,所述第二应用程序为游戏程序,所述第二显示窗口为所述游戏程序的显示窗口;
若所述目标操作对象关联于所述游戏程序,则所述方法还包括:
在所述游戏程序的显示窗口中展示提示消息,所述提示消息用于反映所述关联操作的操作结果。
4.根据权利要求1所述的界面逻辑执行方法,其特征在于,所述第一显示窗口对应游戏程序;
所述根据预设策略从多个可操作对象中选取出展示于所述第一显示窗口或者所述第二显示窗口的目标操作对象,包括:
确定所述游戏程序中玩家操作对象所处的当前状态;
从多个可操作对象中选取出匹配于玩家操作对象的当前状态的目标操作对象。
5.根据权利要求4所述的界面逻辑执行方法,其特征在于,所述确定所述游戏程序中玩家操作对象所处的当前状态,包括:
获取所述游戏程序中玩家操作对象的历史行为数据;
基于所述历史行为数据确定玩家操作对象所处的当前状态。
6.根据权利要求4所述的界面逻辑执行方法,其特征在于,若玩家操作对象所处的当前状态为战斗状态,则所述从多个可操作对象中选取出匹配于玩家操作对象的当前状态的目标操作对象,包括:
从多个可操作对象中选取出所述游戏程序的可操作对象作为所述目标操作对象。
7.根据权利要求6所述的界面逻辑执行方法,其特征在于,所述从多个可操作对象中选取出所述游戏程序的可操作对象作为所述目标操作对象,包括:
确定所述游戏程序的至少两个可操作对象各自对应的操作类型;
获取所述战斗状态对应的目标操作类型;
从至少两个可操作对象中选取出与所述目标操作类型对应的可操作对象作为所述目标操作对象。
8.根据权利要求4所述的界面逻辑执行方法,其特征在于,所述第二显示窗口对应直播程序;
若玩家操作对象所处的当前状态为非战斗状态,则所述从多个可操作对象中选取出匹配于玩家操作对象的当前状态的目标操作对象,包括:
获取对所述显示界面发出的多个历史界面操作;
确定所述界面操作与所述多个历史界面操作的关联性;
若所述界面操作关联于对所述游戏程序发出的历史界面操作,则从多个可操作对象中选取与所述游戏程序关联的可操作对象作为所述目标操作对象;或者
若所述界面操作关联于对所述直播程序发出的历史界面操作,则从多个可操作对象中选取与所述直播程序关联的可操作对象作为所述目标操作对象。
9.根据权利要求8所述的界面逻辑执行方法,其特征在于,若所述界面操作关联于对所述游戏程序或所述直播程序发出的连续界面操作,则
所述目标操作对象为多个可操作对象中与所述连续界面操作关联的可操作对象。
10.根据权利要求8所述的界面逻辑执行方法,其特征在于,所述界面操作关联于所述游戏程序的游戏任务;
所述从多个可操作对象中选取与所述游戏程序关联的可操作对象作为所述目标操作对象,包括:
判断所述界面操作是否关联于所述游戏任务中的待触发情节或待获取对象;
基于判断结果从多个可操作对象中选取与所述待触发情节或所述待获取对象关联的可操作对象作为所述目标操作对象。
11.根据权利要求4所述的界面逻辑执行方法,其特征在于,若玩家操作对象所处的当前状态为非战斗状态,则所述从多个可操作对象中选取出匹配于玩家操作对象的当前状态的目标操作对象,包括:
根据所述显示界面的布局信息,确定多个可操作对象在所述显示界面中的位置;
根据多个可操作对象在所述显示界面中的位置,选取处于所述显示界面的视觉重点区域的可操作对象作为所述目标操作对象。
12.根据权利要求11所述的界面逻辑执行方法,其特征在于,所述处于所述显示界面的视觉重点区域的可操作对象包括以下之一:
与显示界面中心距离小于阈值的可操作对象、处于显示界面最上层的可操作对象、处于可操作区域中右侧部分的可操作对象。
13.一种界面逻辑执行装置,其特征在于,应用于显示界面,所述显示界面中加载有第一显示窗口和第二显示窗口,所述装置包括:
收发模块,用于接收对显示界面发出的界面操作;
处理模块,用于获取所述显示界面中与所述界面操作对应的可操作对象;若与所述界面操作对应的可操作对象为多个,则根据预测策略从多个可操作对象中选取出展示于所述第一显示窗口或者所述第二显示窗口的目标操作对象;触发所述目标操作对象对应的动作逻辑,以使所述界面操作得到执行。
14.一种电子设备,其特征在于,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求1至12任一项所述的界面逻辑执行方法。
15.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1至12任一所述的界面逻辑执行方法。
技术总结