一种游戏任务引导完成方法、系统及设备与流程

文档序号:23387013发布日期:2020-12-22 13:52阅读:146来源:国知局
一种游戏任务引导完成方法、系统及设备与流程

本发明涉及游戏引导领域,尤其涉及一种游戏任务引导完成方法、系统及设备。



背景技术:

在游戏领域中,当新用户进入游戏时或者用户在完成新发布的游戏任务时,需要游戏引导系统来帮助用户熟悉游戏方式或者任务内容。一般的,游戏引导系统的作用主要是在游戏界面中对游戏任务的操作作出突出、醒目的提示,限制用户可点击的区域,用户只能点击游戏引导固定的区域从而引导用户完成游戏任务。

现有的游戏引导系统的操作提示方式有蒙版遮罩或抬高组件的渲染层级。普遍的,这种提示方式的游戏引导系统会对任务的每一步操作作出具体又醒目的提示,用户需要根据提示完成每一步操作,也即用户的一次操作至多完成任务的一个最小步骤,造成新手引导或者新任务引导过程的冗长无聊,也对游戏运行资源的较大的占用。同时这种一步一步强制引导玩家完成整个引导流程的方式也降低了用户探索游戏的乐趣。

因此,对现有的游戏引导方式作出改善才能更好地迎合用户的需求。



技术实现要素:

本发明要解决的技术问题是在游戏任务引导过程中,对用户的操作更高效更主动地响应,更好地使用户完成游戏任务。

为解决上述技术问题,本发明公开了一种游戏任务引导完成方法、系统及设备。具体技术方案如下所述:

第一方面,本发明公开了一种游戏任务引导完成方法,所述方法包括:

在目标游戏任务的进行状态下,监听用户的屏幕点击信号,并根据所述屏幕点击信号解析获得屏幕点击坐标;

根据所述屏幕点击坐标和unity3d中摄像机的坐标,构建至少一条穿透射线;

利用unity3d中射线检测事件机制,检测所述至少一条穿透射线穿过的组件,得到射线穿透结果列表;

获取所述目标游戏任务的引导组件列表;

将所述射线穿透结果列表与所述引导组件列表进行比对,得到目标引导组件合集;

获取所述目标引导组件合集中每一个目标引导组件的脚本事件,自动触发所述每一目标引导组件的脚本事件,完成所述目标引导组件合集对应的游戏任务步骤。

进一步地,所述根据所述屏幕点击坐标和unity3d中摄像机的坐标,构建至少一条穿透射线包括:

获取在unity3d中所述目标游戏任务当前界面的摄像机的世界坐标;

构建以所述摄像机的世界坐标为射线端点,指向所述屏幕点击坐标方向的至少一条穿透射线。

进一步地,所述利用unity3d中射线检测事件机制,检测所述至少一条穿透射线穿过的组件,得到射线穿透结果列表包括:

创建射线穿透结果列表;

调用unity3d事件系统机制中的raycastall的碰撞检测方法,检测所述目标游戏任务当前任务界面和/或下级任务界面中是否存在与所述至少一条穿透射线发生碰撞的组件;

获取所述碰撞检测方法返回的数据,并将数据缓存在所述射线穿透结果列表中。

进一步地,所述方法还包括:若所述碰撞检测方法返回的数据为空值,则忽略用户此次的点击操作,不作任何时间的触发或响应。

进一步地,所述将所述射线穿透结果列表与所述引导组件列表进行比对,得到目标引导组件合集包括:

根据所述射线穿透结果列表中每一个组件对应的任务名称、任务步骤次序、游戏对象、触发事件类型和/或响应事件内容,与所述引导组件列表中的每一个引导组件进行比对,筛选出同时存在于所述射线穿透结果列表和所述引导组件列表中的引导组件,将引导组件作为目标引导组件保存于目标引导组件合集中。

进一步地,所述获取所述目标引导组件合集中每一个目标引导组件的脚本事件,并自动触发所述每一个目标引导组件的脚本事件包括:

获取所述目标引导组件合集中每一个目标引导组件的脚本事件类型和/或内容,并将所述脚本时间类型和/或内容作为参数传入unity3d中的时间执行方法中;

将所述每一个目标引导组件的游戏对象、任务名称和/或任务步骤次序作为参数传入所述事件执行方法中;

调用所述事件执行方法,自动触发所述每一个目标引导组件的脚本事件。

进一步地,所述方法还包括:

根据所述每一个目标引导组件的脚本事件类型和/或内容、游戏对象、任务名称和/或任务步骤次序规划所述目标引导组件合集中每一个目标引导组件的触发顺序;

根据所述触发顺序,调用所述事件执行方法自动触发所述每一个目标引导组件的脚本时间。

进一步地,所述方法还包括:

在目标游戏任务的进行状态下,若在预设时间阈值内未监测到用户的屏幕点击信号,则自动判断当前游戏任务界面的目标区域内是否存在所述目标游戏任务的引导组件列表中的引导组件;

若存在,则将引导组件作为目标引导组件保存于目标引导组件合集中,并自动触发所述每一个目标引导组件的脚本事件。

第二方面,本发明公开了一种游戏任务引导完成系统,所述系统包括:

监听单元,用于在目标游戏任务的进行状态下,监听用户的点击操作;

第一获取单元,用于获取用户的屏幕点击信号,并根据所述屏幕点击信号解析获得屏幕点击坐标;

射线单元,用于根据所述屏幕点击坐标和unity3d中摄像机的坐标,构建至少一条穿透射线;

检测单元,用于利用unity3d中射线检测事件机制,检测所述至少一条穿透射线穿过的组件,得到射线穿透结果列表;

第二获取单元,用于获取所述目标游戏任务的引导组件列表;

比对单元,用于将所述射线穿透结果列表与所述引导组件列表进行比对,得到目标引导组件合集;

执行单元,用于获取所述目标引导组件合集中每一个目标引导组件的脚本事件,自动触发所述每一个目标引导组件的脚本事件,完成所述目标引导组件合集对应的游戏任务步骤。

第三方面,本发明公开了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行如第一方面所述的一种游戏任务引导完成方法。

第四方面,本发明公开了一种计算机存储介质,所述计算机存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如如第一方面所述的一种游戏任务引导完成方法。

采用上述技术方案,本发明所述的一种游戏任务引导完成方法、系统及设备具有如下有益效果:

1)不需要设置蒙版遮罩或者抬高组件的渲染层级才能提示或限制用户的点击,减少了对游戏运行资源的占用;

2)对用户可点击的区域不作限定,使得用户在界面任意区域的点击都有可能触发并进行游戏任务的后续操作,提升了用户操作的随意性,带给用户探索游戏的乐趣;

3)相对于一步一步强制用户完成整个游戏任务引导而言,利用射线检测能获取用户点击区域可能存在的多个可响应的组件,并由引导系统直接触发多个可响应组件的脚本事件,主动完成游戏任务中对应的多个操作步骤,避免用户对可响应的组件一个一个的点击,缩短了完成游戏任务的时间,提升了用户的游戏体验。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种游戏任务引导完成方法的流程示意图;

图2是本发明实施例提供的一种利用射线检测可响应组件的流程示意图;

图3是本发明实施例提供的一种自动执行游戏任务步骤的流程示意图;

图4是本发明实施例提供的一种游戏任务引导完成系统的结构示意图;

图5是本发明实施例提供的运行一种游戏任务引导完成方法的计算机设备的硬件结构框图。

具体实施方式

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

此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本发明的描述中,需要理解的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

图1是本发明实施例提供的一种游戏任务引导完成方法的流程示意图,本说明书提供了如实施例或流程示意图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图1所示,所述游戏任务引导完成方法可以包括:

s110:在目标游戏任务的进行状态下,监听用户的屏幕点击信号,并根据所述屏幕点击信号解析获得屏幕点击坐标。

一般的,由游戏的主系统获取用户的操作数据,并对用户的操作作出响应,然后将完成情况反馈给游戏引导系统,以便让游戏引导系统确定任务进展并进行后续的游戏引导步骤。而在本发明实施例提供的游戏任务引导完成方法中,游戏引导系统不仅仅具有接收反馈、执行引导的“辅助”功能,而且能够自主管理游戏任务中数据的获取、存储、判断以及事件的触发和响应,做到对用户的操作更为快速、准确的识别和执行,以帮助用户更高效的完成游戏任务。

具体地,用户可以在当前游戏界面中的任意区域进行操作,不仅限于点击、长按、拖动、滑拨、多点缩放等操作。一般的,用户会优先点击肉眼可识别的组件如按钮、人物贴图,可以将对用户的屏幕点击监听绑定在当前游戏界面中的主要按钮或人物图片上。在监听到用户对当前游戏界面的点击操作后,将获得的屏幕点击坐标反馈至游戏引导系统;或者直接由游戏引导系统对游戏界面中物体进行监听,后者能更快地对用户的操作作出响应。

s120:根据所述屏幕点击坐标和unity3d中摄像机的坐标,构建至少一条穿透射线。

具体地,本发明实施例提供的步骤s120可以包括以下步骤:

s210:获取在unity3d中所述目标游戏任务当前界面的摄像机的世界坐标。

可以理解的是,在游戏中大部分的操作是基于世界坐标的;游戏中的摄像机提供的是unity中游戏视图的观察画面,基于摄像机的坐标系为观察坐标系;屏幕坐标与屏幕分辨率有关,在获取鼠标位置或者手指点击位置时得到的屏幕坐标。在unity中,提供了各个坐标系相互变换的函数接口,通过变换函数能将观察坐标系下的摄像机坐标转换为世界坐标系下的摄像机坐标。同理,可以获得屏幕点击坐标在世界坐标系下的点击位置坐标。

s220:构建以所述摄像机的世界坐标为射线端点,指向所述屏幕点击坐标方向的至少一条穿透射线。

可以理解的是,此处射线指向的是经过坐标转换后的点击位置坐标的方向。

在一些可行的实施方式中,当用户点击了当前游戏界面的一个按钮,以按钮的边界为区域,构建穿透整个区域的多条穿透射线,可以增大射线检测的范围。

s130:利用unity3d中射线检测事件机制,检测所述至少一条穿透射线穿过的组件,得到射线穿透结果列表。

在一些可行的实施方式中,如图2所示,本发明实施例提供的步骤s130可以包括以下步骤:

s310:创建射线穿透结果列表。

具体的,创建语句可以表示为:resultlist=newlist<raycastresult>()。

s320:调用unity3d事件系统机制中的raycastall的碰撞检测方法,检测所述目标游戏任务当前任务界面和/或下级任务界面中是否存在与所述至少一条穿透射线发生碰撞的组件;

具体的,调用语句可以表示为:eventsystem.current.raycastall(data,resultlist);其中data表示屏幕点击坐标数据或者坐标变换后的点击位置坐标数据。

在一些可行的实施方式中,射线检测可以指定检测预设的图层,或者跳过预设的图层,对该图层与射线发生碰撞的物体不作响应,还可以根据脚本事件判断是否是可响应的。以按钮为例,若存在响应事件则该按钮的脚本程序中会绑定“button”的脚本,如果它绑定了这个形式的脚本,则说明它是可响应的按钮,继而将该按钮的数据缓存在结果列表中。

可以理解的是,所谓当前任务界面和/或下级任务界面表示在游戏任务界面中会有多个任务窗口,或通过不同的渲染层级同时展示给用户或者需要用户完成上一步点击后才会显示下一步的界面,因此游戏任务引导环境中,用户需要操作的点击区域一般会有重合,也即在一个可响应的按钮的下面存在着其他可响应的按钮,通过射线检测事件能够收集用户肉眼无法识别或者当前无法点击的这些可响应的按钮。

s330:获取所述碰撞检测方法返回的数据,并将数据缓存在所述射线穿透结果列表中。

可以理解的是,以按钮为例,在用户点击的位置或区域下面若存在五个按钮,则射线穿过后,检测并判断到是五个可响应的按钮,并把这五个可响应的按钮的id、脚本事件等数据缓存在列表中,作为事件执行方法中的参数。

在常用的方法中,通过遮罩、挖洞或者抬高层级的方式显示下一步任务需要操作的按钮,但按钮的选择设置是游戏中固定的,用户只能跟随固定的步骤完成游戏任务,而本实施例提供的方法可以在用户的一次点击后,通过射线检测到可能存在的多个可响应按钮,分别对应游戏任务中的多个步骤,能够对用户的操作作出更多的响应。

在一些可行的其他实施方式中,可采用unity3d中其他类型的射线检测方法例如graphicraycaster类,不同类型的射线检测方法适用于不同的游戏场景,返回的数据类型也有所不同,可以根据实际开发需求进行适应性地改变,本实施例对此不作具体限定。

具体地,若所述碰撞检测方法返回到数据为空值,则忽略用户此次的点击操作,不作任何事件的触发或响应。

s140:获取所述目标游戏任务的引导组件列表。

可以理解的是,所述引导组件列表为完成所述目标游戏任务的绝对路径或相对路径,包含了所述目标游戏任务所设置的可响应组件及其id、脚本事件等数据。

s150:将所述射线穿透结果列表与所述引导组件列表进行比对,得到目标引导组件合集。

可以理解的是,所述引导组件列表作为完成所述目标游戏任务的绝对路径或相对路径,在比对过程中作为参考项;所述射线穿透结果列表作为当前游戏界面检测到的可响应组件的合集,找出其中存在完成所述目标游戏任务的绝对路径或相对路径中的组件。

优选地,本发明实施例提供的步骤s150可以包括:

根据所述射线穿透结果列表中每一个组件对应的任务名称、任务步骤次序、游戏对象、触发事件类型和/或响应事件内容,与所述引导组件列表中的每一个引导组件进行比对,筛选出同时存在与所述射线穿透结果列表和所述引导组件列表中的引导组件,将引导组件作为目标引导组件保存于目标引导组件合集中。

优选地,在unity中任何组件、控件等都可以称之为物体(gameobject)任何一个物体对应有唯一的一个实例id,通过对比id可确认两个物体是不是同一个,而无需在比对其他类型的数据内容。

s160:获取所述目标引导组件合集中每一个目标引导组件的脚本事件,自动触发所述每一个目标引导组件的脚本,完成所述目标引导组件合集对应的游戏任务步骤。

可以理解的是,采用遮罩、挖洞或者抬高层级进行引导的引导系统并不会将引导方式和具体的游戏任务步骤联系起来,仍然是目标引导组件监听用户的操作并触发自身的响应事件,而本发明实施例提供的方法中,引导系统不仅仅能检测并收集到后续游戏任务步骤中可响应的组件,还能跳过这些可响应的组件直接去触发它们背后绑定的响应事件也即脚本事件,在无需用户操作的情况下完成这些可响应组件对应的游戏任务步骤,避免用户对可响应的组件一个一个的点击,缩短了完成游戏任务的时间,提升了用户的游戏体验。

在一些可行的实施方式中,如图3所示,本发明实施例提供的步骤s160可以包括以下步骤:

s610:获取所述目标引导组件合集中每一个目标引导组件的脚本事件类型和/或内容,并将所述脚本事件类型和/或内容作为参数传入unity3d中的事件执行方法中。

s620:将所述每一个目标引导组件的游戏对象、任务名称和/或任务步骤次序作为参数传入所述事件执行方法中。

s630:调用所述事件执行方法,自动触发所述每一个目标引导组件的脚本事件。

具体地,上述步骤的程序语言可以表达为:

executeevents.execute(gameobject,data,executeevents.pointerclickhandler),其中executeevents.execute()为事件执行方法,gameobject为可响应的组件或称物体,executeevents.pointerclickhandler表示对该组件的触发方式为点击。在事件执行完成后,释放缓存空间,重新进入监听状态。

进一步地,所述方法还包括:

根据所述每一个目标引导组件的脚本事件类型和/或内容、游戏对象、任务名称和/或任务步骤次序规划所述目标引导组件合集中每一个目标引导组件的触发顺序;

根据所述触发顺序,调用所述事件执行方法自动触发所述每一个目标引导组件的脚本事件。

本发明实施例还提供了一种游戏任务引导完成系统,如图4所示,所述游戏任务引导完成系统包括:

监听单元410,用于在目标游戏任务的进行状态下,监听用户的点击操作。

第一获取单元420,用于获取用户的屏幕点击信号,并根据所述屏幕点击信号解析获得屏幕点击坐标。

射线单元430,用于根据所述屏幕点击坐标和unity3d中摄像机的坐标,构建至少一条穿透射线。

进一步地,所述射线单元还包括坐标转换模块,用于将摄像机的坐标和屏幕点击坐标转换为同一坐标系下的位置坐标。

检测单元440,用于利用unity3d中射线检测事件机制,检测所述至少一条穿透射线穿过的组件,得到射线穿透结果列表。

第二获取单元450,用于获取所述目标游戏任务的引导组件列表。

比对单元460,用于将所述射线穿透结果列表与所述引导组件列表进行比对,得到目标引导组件合集。

执行单元470,用于获取所述目标引导组件合集中每一个目标引导组件的脚本事件,自动触发所述每一个目标引导组件的脚本事件,完成所述目标引导组件合集对应的游戏任务步骤。

进一步地,所述执行单元还可以包括执行顺序规划模块,用于根据所述每一个目标引导组件的脚本事件类型和/或内容、游戏对象、任务名称和/或任务步骤次序规划所述目标引导组件合集中每一个目标引导组件的触发顺序。

本发明实施例所述的一种游戏任务引导完成系统较之于现有的引导系统,具有更多的自主控制权。本实施例提供的游戏引导系统不仅仅具有接收反馈、执行引导的“辅助”功能,而且能够自主管理游戏任务中数据的获取、存储、判断以及事件的触发和响应,做到对用户的操作更为快速、准确的识别和执行,帮助用户更高效的完成游戏任务,提高用户的游戏体验。

本发明实施例所述的一种游戏任务引导完成系统与方法实施例基于相同的发明构思,详情请参考方法实施例,在此不再赘述。

本发明实施例还提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如本发明实施例的一种游戏任务引导完成方法。

存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。

本发明实施例所提供的方法实施例可以在计算机终端、服务器或者类似的运算装置中执行,即上述计算机设备可以包括计算机终端、服务器或者类似的运算装置。图5是本发明实施例提供的运行一种游戏任务引导完成方法的计算机设备的硬件结构框图,如图5所示,该计算机设备的内部结构可包括但不限于:处理器、网络接口及存储器。其中,计算机设备内的处理器、网络接口及存储器可通过总线或其他方式连接,在本说明书实施例所示图5中以通过总线连接为例。

其中,处理器(或称cpu(centralprocessingunit,中央处理器))是计算机设备的计算核心以及控制核心。网络接口可选的可以包括标准的有线接口、无线接口(如wi-fi、移动通信接口等)。存储器(memory)是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器可以是高速ram存储设备,也可以是非不稳定的存储设备(non-volatilememory),例如至少一个磁盘存储设备;可选的还可以是至少一个位于远离前述处理器的存储装置。存储器提供存储空间,该存储空间存储了电子设备的操作系统,可包括但不限于:windows系统(一种操作系统),linux(一种操作系统),android(安卓,一种移动操作系统)系统、ios(一种移动操作系统)系统等等,本发明对此并不作限定;并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。在本说明书实施例中,处理器加载并执行存储器中存放的一条或一条以上指令,以实现上述方法实施例提供的游戏任务引导完成方法。

本发明实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行如本发明实施例所述的游戏任务引导完成方法。

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

需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、系统和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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