寻路信息的提示方法、装置、电子设备及可读存储介质与流程

文档序号:32341710发布日期:2022-11-26 09:59阅读:59来源:国知局
寻路信息的提示方法、装置、电子设备及可读存储介质与流程

1.本技术涉及游戏技术领域,尤其是涉及寻路信息的提示方法、装置、电子设备及可读存储介质。


背景技术:

2.在游戏进程中,玩家需要控制虚拟角色在游戏场景中进行移动,为了更好地规划虚拟角色的移动过程,玩家需要了解到从当前位置到目标位置处的距离以及时间,因此,产生了游戏中的自动寻路算法,即确定出虚拟角色所在的当前位置以及需要到达的目标位置后,进行路径规划,在规划出完成路径后,根据规划的路径来计算距离以及时间。在这种情况下,若是当前位置与目标位置之间的距离过长时,在规划完整的寻路路径时,需要计算的数据,考虑的规划问题就比较多,导致向玩家展示从当前位置到目标位置处的距离以及时间的效率变低,进而导致玩家等待时间过长,人机交互效率低,因此,如何快速高效地向玩家展示从当前位置到目标位置处的距离以及时间成为了亟待解决的问题。


技术实现要素:

3.有鉴于此,本技术的目的在于提供寻路信息的提示方法、装置、电子设备及可读存储介质,通过虚拟角色的当前位置处的第一基准点集合以及寻路终点位置处的第二基准点集合,确定出当前位置处到寻路终点位置的多条整体寻路距离,并快速地筛选出多条整体寻路距离中最短的路径,进而快速地计算出角色寻路时间,可以减少数据计算量,提升向玩家展示从当前位置到目标位置处的距离以及时间的效率,有助于提高人机交互效率。
4.第一方面,本技术实施例提供了一种寻路信息的提示方法,通过终端设备提供一图形用户界面,所述图形用户界面中显示有至少部分游戏场景以及展示全部游戏场景的游戏大地图,所述游戏场景中包括由所述终端设备控制的目标虚拟角色;所述游戏大地图中包括多个预先划分的地图区域,每个地图区域中包括至少一个寻路基准点,所述寻路基准点为所述游戏大地图中的像素点,用于计算不同预估路径的长度,所述寻路信息的提示方法包括:
5.响应于在所述游戏大地图上的触控操作,确定寻路终点位置;
6.检测目标虚拟角色的当前位置与所述寻路终点位置之间是否满足预设寻路处理条件;若满足,确定所述当前位置所在地图区域中相邻区域中的第一寻路基准点集合,以及所述寻路终点位置所在地图区域中相邻区域中的第二寻路基准点集合;
7.从预先存储的位置点距离集合以及基准点距离集合中,确定出所述第一寻路基准点集合中每个第一寻路基准点与所述当前位置之间的第一距离、所述第二寻路基准点集合中每个第二寻路基准点与所述寻路终点位置之间的第二距离、以及每个第一寻路基准点与每个第二寻路基准点之间的第三距离,确定出多个寻路距离;
8.将所述多个寻路距离中,距离最短的寻路距离确定为目标距离,并根据所述目标距离,确定角色寻路时间;
9.将所述目标距离以及所述角色寻路时间,显示在所述游戏大地图上的预设位置处。
10.第二方面,本技术实施例还提供了一种寻路信息的提示装置,通过终端设备提供一图形用户界面,所述图形用户界面中显示有至少部分游戏场景以及展示全部游戏场景的游戏大地图,所述游戏场景中包括由所述终端设备控制的目标虚拟角色;所述游戏大地图中包括多个预先划分的地图区域,每个地图区域中包括至少一个寻路基准点,所述寻路基准点为所述游戏大地图中的像素点,用于计算不同预估路径的长度,所述寻路信息的提示装置包括:
11.位置确定模块,用于响应于在所述游戏大地图上的触控操作,确定寻路终点位置;
12.基准点集合确定模块,用于检测目标虚拟角色的当前位置与所述寻路终点位置之间是否满足预设寻路处理条件;若满足,确定所述当前位置所在地图区域中相邻区域中的第一寻路基准点集合,以及所述寻路终点位置所在地图区域中相邻区域中的第二寻路基准点集合;
13.寻路距离确定模块,用于从预先存储的位置点距离集合以及基准点距离集合中,确定出所述第一寻路基准点集合中每个第一寻路基准点与所述当前位置之间的第一距离、所述第二寻路基准点集合中每个第二寻路基准点与所述寻路终点位置之间的第二距离、以及每个第一寻路基准点与每个第二寻路基准点之间的第三距离,确定出多个寻路距离;
14.寻路时间确定模块,用于将所述多个寻路距离中,距离最短的寻路距离确定为目标距离,并根据所述目标距离,确定角色寻路时间;
15.信息展示模块,用于将所述目标距离以及所述角色寻路时间,显示在所述游戏大地图上的预设位置处。
16.第三方面,本技术实施例还提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如第一方面任一项所述的寻路信息的提示方法的步骤。
17.第四方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面任一项所述的寻路信息的提示方法的步骤。
18.本技术实施例提供的寻路信息的提示方法、装置、电子设备及可读存储介质,响应于在游戏大地图上的触控操作,确定寻路终点位置;在确定目标虚拟角色的当前位置与寻路终点位置之间满足预设寻路处理条件后,确定当前位置对应的第一寻路基准点集合,以及寻路终点位置对应的第二寻路基准点集合;从预先存储的位置点距离集合以及基准点距离集合中,确定出第一寻路基准点集合中每个第一寻路基准点与当前位置之间的第一距离,第二寻路基准点集合中每个第二寻路基准点与寻路终点位置之间的第二距离以及每个第一寻路基准点与每个第二寻路基准点之间的第三距离,确定出多个寻路距离;将多个寻路距离中,最短的寻路距离确定为目标距离,并根据目标距离计算角色寻路时间;将目标距离以及角色寻路时间,显示在游戏大地图上的预设位置处。在本技术实施例中,通过虚拟角色的当前位置处的第一基准点集合以及寻路终点位置处的第二基准点集合,确定出当前位置处到寻路终点位置的多条整体寻路距离,并快速地筛选出多条整体寻路距离中最短的路
multiplayer online,mmo)类型的游戏;需要说明的是,本技术实施例不限定于上述类型的游戏,同样也不限定于游戏领域。
32.本技术实施例中的寻路信息的提示方法可以运行于终端设备或者是服务器。其中,终端设备可以为本地终端设备(比如本地触控终端)。当寻路信息的提示方法运行于服务器时,可以为云游戏。
33.在一种可选的实施方式中,云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏程序的运行主体和游戏画面呈现主体是分离的,信息的生成方法的存储与运行是在云游戏服务器上完成的,云游戏客户端用于数据的接收、发送以及游戏画面的呈现,举例而言,云游戏客户端可以是靠近用户侧的具有数据传输功能的显示设备,如,移动终端、电视机、计算机、掌上电脑等;但是进行信息生成的终端设备为云端的云游戏服务器。在进行游戏时,用户操作云游戏客户端向云游戏服务器发送操作指令,云游戏服务器根据操作指令运行游戏,将游戏画面等数据进行编码压缩,通过网络返回给云游戏客户端,最后,通过云游戏客户端进行解码并输出游戏画面。
34.在另一种可选的实施方式中,终端设备可以为本地终端设备。本地终端设备存储有游戏程序并用于呈现游戏画面。本地终端设备用于通过图形用户界面与用户进行交互,即,常规的通过电子设备下载安装游戏程序并运行。该本地终端设备将图形用户界面提供给用户的方式可以包括多种,例如,可以渲染显示在本地终端设备的显示屏上,或者,通过全息投影提供给用户。举例而言,本地终端设备可以包括显示屏和处理器,该显示屏用于呈现图形用户界面,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面以及控制图形用户界面在显示屏上的显示。
35.本技术实施例提供的寻路信息的提示方法可以运行于前述提到的本地终端设备中,也可以运行于前述提到的云游戏客户端中。下面以上述寻路信息的提示方法运行于本地终端设备(以下简称终端设备)为例进行说明。
36.请参阅图1,图1为本技术实施例所提供的一种寻路信息的提示方法的流程图。如图1中所示,本技术实施例提供的寻路信息的提示方法,包括:
37.s101、响应于在所述游戏大地图上的触控操作,确定寻路终点位置。
38.s102、检测目标虚拟角色的当前位置与所述寻路终点位置之间是否满足预设寻路处理条件;若满足,确定所述当前位置所在地图区域中相邻区域中的第一寻路基准点集合,以及所述寻路终点位置所在地图区域中相邻区域中的第二寻路基准点集合。
39.s103、从预先存储的位置点距离集合以及基准点距离集合中,确定出所述第一寻路基准点集合中每个第一寻路基准点与所述当前位置之间的第一距离、所述第二寻路基准点集合中每个第二寻路基准点与所述寻路终点位置之间的第二距离、以及每个第一寻路基准点与每个第二寻路基准点之间的第三距离,确定出多个寻路距离。
40.s104、将所述多个寻路距离中,距离最短的寻路距离确定为目标距离,并根据所述目标距离,确定角色寻路时间。
41.s105、将所述目标距离以及所述角色寻路时间,显示在所述游戏大地图上的预设位置处。
42.本技术实施例所提供的寻路信息的提示方法,通过虚拟角色的当前位置处的第一基准点集合以及寻路终点位置处的第二基准点集合,确定出当前位置处到寻路终点位置的
多条整体寻路距离,并快速地筛选出多条整体寻路距离中最短的路径,进而快速地计算出角色寻路时间,可以减少数据计算量,提升向玩家展示从当前位置到目标位置处的距离以及时间的效率,有助于提高人机交互效率。
43.下面对本技术实施例示例性的各步骤进行说明:
44.s101、响应于在所述游戏大地图上的触控操作,确定寻路终点位置。
45.在本技术实施例中,针对于不同类型的游戏来说,可能会需要目标虚拟角色在游戏场景中进行移动,这时,需要虚拟角色在游戏场景中寻找对应的路径,从而无遮挡地移动到目的地,在进行移动路径确定时,玩家可以通过游戏中提供的地图来完成。
46.在一种可能的实施方式中,玩家可以在打开游戏大地图后,在游戏大地图中确定出寻路的目的地,在接收到玩家在游戏大地图上的触控操作后,根据玩家触控操作的操作位置,可以确定出玩家本次寻路的寻路终点位置。
47.具体地,游戏中包括展示当前游戏场景的小地图以及展示全部游戏场景的大地图,在本技术实施例中针对的是较远距离的寻路方案,因此,在本技术实施例中,所涉及的就是展示全部游戏场景的大地图的操作。
48.在一种可能的实施方式中,请参阅图2,图2为本技术实施例所提供的游戏大地图划分区域的示意图。如图2中所示,为了更好地进行寻路路径以及位置的确定,在进行寻路之前,需要对游戏大地图进行划分处理,在游戏大地图中划分出多个地图区域,以根据不同的地图区域进行寻路基准点以及寻路位置的确定。
49.具体地,在游戏大地图中对地图区域进行划分时,可以按照游戏大地图中包括的地块(指的是地图中包括的不同游戏场景)来划分,一个地块可以对应一个地图区域,还可以是根据不同地块的大小以及路径计算需求,继续对一个地块对应的地图区域进行划分,以细分不同的地块,得到数量更多的地图区域。对于寻路计算方案来说,地图区域的数量越多,对游戏大地图的划分越精细,得到的寻路方案也更接近实际路径,即寻路路径的计算更准确。
50.值得注意的是,为了便于寻路路径的计算,细分后的不同地图区域之间应该保持形状以及大小相同,如图2中所示,可以将不同的地图区域均划分为正方形,同时对不同的地图区域进行编号。
51.在一种可能的实施方式中,在游戏大地图中的每个地图区域中均包括至少一个寻路基准点,所述寻路基准点为所述游戏大地图中的像素点,用于计算不同预估路径的长度,对于不同的寻路基准点来说,是在划分地图区域后确定的,具体地,通过以下步骤确定所述游戏大地图中的多个寻路基准点:
52.a1:确定所述游戏大地图中每个地图区域中的连通域;所述连通域为各个地图区域中每个像素之间互相联通的区域。
53.a2:针对于每一个连通域,确定该连通域的中心位置,以该连通域的中心位置为中心,在该连通域中确定出预设数量个寻路基准点。
54.a3:集合每个地图区域中各个连通域的寻路基准点,确定所述游戏大地图中的多个寻路基准点。
55.在本技术实施例中,在不同的地图区域中,由于游戏场景设置的不同,不同区域之间可能是连通(两个区域之间可以互相到达)也可以是不连通的(两个区域之间不可以互相
到达),具体地,针对于每个地图区域,将该地图区域中每个像素之间互相联通的区域确定为该地图区域中的连通域。
56.在一种可能的实施方式中,以一个地图区域为例,在设置该地图区域中的寻路基准点时,可以是以连通域为基准设置单位,具体地,一个地图区域中的每个连通域至少选取一个寻路基准点;若是该地图区域中并不存在连通域,则这个地图区域中并不会设置寻路基准点(即使设置了,由于该地图区域中并不存在连通域,其他地图区域无法无阻挡地进入该地图区域后再出去,因此,在实际寻路过程中,也并不会将寻路路径设置在该地图区域处,因此,在该地图区域内设置寻路基准点是没有意义的)。
57.进一步的,针对于某一个连通域来说,在设置该连通域内包括的至少一个寻路基准点时,需要不同的寻路基准点尽可能地均匀分在该连通域内,因此,在设置寻路基准点时,首先确定出该连通域的中心位置,同时根据该中心位置的坐标,来调整不同寻路基准点的坐标,以使该连通域内的所有寻路基准点的坐标的均值坐标(即所有坐标求平均值得到的横纵坐标组成的坐标点)尽量靠近该连通区域的中心点的坐标。
58.在确定出不同地图区域内各个连通域的至少一个寻路基准点后,将各寻路基准点进行集合,得到整个游戏大地图中分布的多个寻路基准点,为了便于存储以及后续寻路基准点参与寻路计算,可以为各个寻路基准点进行编号后存储,编号的规则可以是从游戏大地图的一侧角落按顺序进行编号,也可以按照存储需求设置编号,还可以按照不同寻路基准点所在的地图区域进行编号。
59.s102、检测目标虚拟角色的当前位置与所述寻路终点位置之间是否满足预设寻路处理条件;若满足,确定所述当前位置所在地图区域中相邻区域中的第一寻路基准点集合,以及所述寻路终点位置所在地图区域中相邻区域中的第二寻路基准点集合。
60.在本技术实施例中,在根据玩家在游戏大地图上的触控操作确定出玩家所要到达的寻路终点位置后,可以根据系统中的数据再次获取到玩家控制的目标虚拟角色当前所在的当前位置(在二维游戏大地图上的位置,可以通过二维坐标来进行表示),在确定出目标虚拟角色的当前位置以及寻路终点位置后,需要确定出目标虚拟角色的当前位置与寻路终点位置之间是否满足预设寻路处理条件,只有两者之间满足预设寻路处理条件,才会根据本技术实施例中所提供的寻路方案高效地进行寻路路径估算。
61.具体地,通过以下步骤确定目标虚拟角色的当前位置与所述寻路终点位置之间满足预设寻路处理条件:
62.b1:检测所述当前位置与所述寻路终点位置是否位于同一个地图区域中。
63.b2:若所述当前位置与所述寻路终点位置不位于同一个地图区域中,确定目标虚拟角色的当前位置与所述寻路终点位置之间满足预设寻路处理条件。
64.在本技术实施例中,针对的是目标虚拟角色的当前位置与寻路终点位置之间相距比较远的情况,而在游戏大地图中可以通过当前位置与寻路终点位置是否位于同一个地图区域中来表示当前位置与寻路终点位置之间的距离,若是当前位置与寻路终点位置不位于同一个地图区域中,大概率说明玩家这次寻路已经跨了不同的场景(如由岛屿到达城市等),那么,目标虚拟角色的当前位置与寻路终点位置之间满足预设寻路处理条件,玩家本次的寻路是远距离寻路,此时,为了寻路效率可以考虑采用本技术中的寻路技术方案。
65.在一种可能的实施方式中,若是在划分游戏大地图中的地图区域时,划分比较细
致,每个地图区域所覆盖的游戏大地图中的面积也比较小,不同地图区域之间可能还是处于同一游戏场景中,在这种情况下,在确定出当前位置与寻路终点位置不位于同一个地图区域中后,还需要设置前位置与寻路终点位置之间相隔的地图区域的数量,只有确定当前位置与寻路终点位置不位于同一个地图区域中且当前位置与寻路终点位置之间相隔的地图区域的数量大于预设区域数量阈值时,才确定目标虚拟角色的当前位置与寻路终点位置之间满足预设寻路处理条件。
66.在另一种可能的实施方式中,若是确定出确定目标虚拟角色的当前位置与寻路终点位置之间不满足预设寻路处理条件(当前位置与寻路终点位置位于同一个地图区域中,或者,当前位置与寻路终点位置不位于同一个地图区域中,但是当前位置与寻路终点位置之间相隔的地图区域的数量不大于预设区域数量阈值),此时,对于玩家的寻路需求,可以根据现有的寻路算法,先确定出从目标虚拟角色的当前位置到达寻路终点位置之间的实际寻路路径,然后计算规划出的实际寻路路径的路径长度以及寻路时间等寻路信息。
67.举例来说,寻路算法可以包括floyd算法、dijkstra算法、a*算法等。
68.在本技术实施例中,在确定出玩家本次寻路的当前位置以及寻路终点位置后,需要分别根据当前位置以及寻路终点位置,分别确定出当前位置所在地图区域中相邻区域中的第一寻路基准点集合以及寻路终点位置所在地图区域中相邻区域中的第二寻路基准点集合,以根据第一寻路基准点集合以及第二寻路基准点集合进行寻路计算。
69.具体地,通过以下步骤确定所述第一寻路基准点集合:
70.c1:确定所述当前位置在所述游戏大地图中所属的目标区域,并以所述目标区域为中心,确定出与所述目标区域在不同预设方向上相连接的多个相邻区域。
71.c2:将所述目标区域中的包括的寻路基准点以及各个相邻区域中包括的寻路基准点集合,确定为所述第一寻路基准点集合。
72.在本技术实施例中,在确定出当前位置后,需要在游戏大地图上确定当前位置所在的目标区域后,为了保证可以预估到各个方向上的行走路径,因此,需要在目标区域的各个不同预设方向上的相邻领域中确定出不同的寻路基准点,然后,将不同预设方向上相连接的多个相邻区域以及当前位置所在的目标区域中的多个基准点确定为第一基准点集合。
73.具体地,请参阅图3,图3为本技术实施例所提供的目标区域相邻区域的示意图。如图3中所示,以当前位置所在的目标区域为中心,将目标区域的上、下、左、右、左上、右上、左下、右下相连接的八个领域,均确定为需要确定第一基准点集合的相邻邻域(图中阴影部分)。
74.值得注意的是,在确定邻域中的基准点时,若是与目标区域相邻的相邻区域中并不存在寻路基准点,那么,在确定第一基准点集合时,将不再考虑该相邻区域;另外,若是当前位置所在的目标区域处于游戏大地图的边缘位置,那么,对于该目标区域来说,并不存在八个相邻区域,这时,只需计算与该目标区域相邻的区域内的寻路基准点,即对于不同的目标区域来说,相邻区域的个数并不一定为八个。
75.在一种可能的实施方式中,对于本次寻路的寻路终点位置对应的第二基准点集合的确定方式与第一基准点集合的确定方式一致,以寻路终点位置所在的目标区域为中心,确定与该目标区域相邻的多个相邻区域中的寻路基准点,进而确定出第二基准点集合,具体确定过程与确定第一基准点集合的方式一致,在此不再赘述。
76.s103、从预先存储的位置点距离集合以及基准点距离集合中,确定出所述第一寻路基准点集合中每个第一寻路基准点与所述当前位置之间的第一距离、所述第二寻路基准点集合中每个第二寻路基准点与所述寻路终点位置之间的第二距离、以及每个第一寻路基准点与每个第二寻路基准点之间的第三距离,确定出多个寻路距离。
77.在本技术实施例中,在确定出目标虚拟角色所在的当前位置对应的第一基准点集合以及寻路终点位置对应的第二基准点集合,针对于每一个第一基准点,需要得到该第一基准点与当前位置之间的第一距离,针对于每二个第一基准点,需要得到该第二基准点与当前位置之间的第二距离,然后再得到每个第一寻路基准点与每个第二寻路基准点之间的第三距离,根据第一距离、第二距离以及第三距离,确定出多个寻路方案下的寻路距离。
78.在一种可能的实施方式中,位置点距离集合以及基准点距离集合中存储着多个预先计算出的不同基准点到普通点之间的距离,以及不同基准点到不同基准点之间的距离,在计算寻路距离时,直接从位置点距离集合以及基准点距离集合中获取相应的距离,下面将分别阐述位置点距离集合以及基准点距离集合的确定过程。
79.第一方面,通过以下步骤确定所述位置点距离集合:
80.d1:针对于所述游戏大地图中的任一位置,计算该位置到所述游戏大地图中每个寻路基准点的位置距离,保存位置距离小于第一预设距离阈值的位置距离的至少一个位置距离,生成所述位置点距离集合。
81.d2:集合所述游戏大地图中包含全部位置的子位置点距离集合,得到所述位置点距离集合。
82.在本技术实施例中,针对于游戏大地图中的任一位置(可以是任一像素点,也是任一游戏任务位置),计算出该位置到游戏大地图中每个寻路基准点的位置距离,将位置距离小于第一预设距离阈值的位置距离的至少一个位置距离进行保存,然后得到该位置的子位置点距离集合,然后将全部位置的子位置点距离集合进行组合,得到位置点距离集合。
83.值得注意的是,针对于游戏大地图中的任一位置计算出的该位置到某一寻路基准点之间的距离均是最短距离。
84.在另一种可能的实施方式中,还可以将计算出的位置距离按照由短到长的顺序进行排序,然后保存排序位于前n的n个位置距离,生成该位置的子位置点距离集合。
85.在一种可能的实施方式中,为了存储以及后续查找不同位置距离信息的便捷性,在存储位置距离时,可以将位置距离对应的长度以及位置点进行共同存储,即,位置点距离集合中包括多条位置距离信息,每条位置距离信息中包括位置坐标信息、对应的位置距离信息以及对应的寻路基准点标识信息。
86.举例来说,对于整个游戏大地图上的任意一位置g,可以得到点f到附近若干个基准点的寻路路径,记为pg1,pg2,...。对路径长度进行排序,并保留前n个最短的路径(不足n个则全部保留),n(n》=1)的大小根据需求决定,n越大,所需储存空间越大,但估算距离与实际距离越接近。该数据用(位置g坐标,基准点编号,路径长度)的形式储存下来。
87.在一种可能的实施方式中,可以将位置距离集合用于游戏大地图大小一直的图片进行保存,每个像素在图片的坐标与g位置在游戏大地图的坐标相对应。值得注意的是,由于常用图片格式只有4个通道,故每个图片可保存2组(基准点编号,路径长度)数据。
88.进一步的,在对不同位置的位置距离信息进行保存时,为了减少数据存储空间,可
以将一个预设范围内的全部位置的位置距离信息设置为同一个,通过一个预设范围内的位置距离信息来表示预设范围内全部位置的位置距离信息,可以极大地减少存储数据的数量。
89.具体地,在步骤“所述针对于所述游戏大地图中的任一位置,计算该位置到所述游戏大地图中每个寻路基准点的位置距离”之前,所述提示方法还包括:
90.f1:针对于所述游戏大地图中的任一位置,检测该位置所在的地图区域的预设区域范围内,是否存在位置距离信息计算完成的位置点。
91.f2:针对于所述游戏大地图中的任一位置,若该位置所在地图区域的预设区域范围内存在位置距离信息的位置点,将位置距离信息计算完成的位置点的位置距离信息确定为该位置的位置距离信息。
92.在本技术实施例中,针对于游戏大地图中的任一位置,检测该位置所在的地图区域的预设范围内是否存在位置距离信息计算完成的位置点,若是存在,将位置距离信息计算完成的位置点的位置距离信息确定为该位置的位置距离信息。
93.具体地,可以把某一位置预设范围内的多个位置点(如25个像素点)共用该位置点的距离计算结果(位置距离信息),以该位置点为h为例,用点h当做n层领域的计算结果,n的取值根据需求而定,假设n层领域内有m个像素点,则这一步骤的计算量和存储空间可以下降m倍,以此在提升计算的效率同时,还可以节省内存的存储空间。
94.第二方面,通过以下步骤确定所述基准点距离集合:
95.g1:针对于所述游戏大地图中的任一寻路基准点,计算该寻路基准点到所述游戏大地图中除该寻路基准点之外各个其他寻路基准点之间的基准点距离,保存基准点距离小于第二预设距离阈值的位置距离的至少一个基准点距离,生成寻路基准点的子基准点距离集合;
96.g2:集合所述游戏大地图中包含全部寻路基准点的子基准点距离集合,得到所述基准点距离集合。
97.在本技术实施例中,针对于游戏大地图中的任一寻路基准点,计算出该寻路基准点到游戏大地图中除该寻路基准点之外各个其他寻路基准点之间的基准点距离,将基准点距离小于第二预设距离阈值的位置距离的至少一个基准点距离进行保存,然后得到该位置的子基准点距离集合,然后将全部寻路记住点的子基准点距离集合进行组合,得到基准点距离集合。
98.同样的,在另一种可能的实施方式中,还可以将计算出的基准点距离按照由短到长的顺序进行排序,然后保存排序位于前n的n个基准点距离,生成该寻路基准点的子基准点距离集合。
99.同样的,为了存储以及后续查找不同基准点距离信息的便捷性,在存储基准点距离时,可以将不同基准点之间的路径、路径长度以及基准点标识同时进行存储,即,所述位置点距离集合中包括多条基准点距离信息,每条基准点距离信息中包括第一基准点标识信息、对应的基准点距离信息以及第二基准点标识信息。
100.举例来说,对于整个游戏大地图上的任意一寻路基准点c,计算该寻路基准点c到寻路基准点d的距离,得到路径为p,路径长度为l,那么存储的方式可以为(c点基准点编号,d点基准点编号,路径长度l
cd
)。
101.值得注意的是,根据计算需求来选择不同的寻路算法,来尽量求出基准点两两之间的最短寻路路径。但这里使用的寻路算法应与游戏内常用的寻路算法应该一致,避免预估出来的结果与实际寻路误差较大。
102.当确定出位置点距离集合以及基准点距离集合后,在具体寻路路径的确定过程中,需要分别从位置点距离集合以及基准点距离集合中确定出第一距离、第二距离以及第三距离,下面以确定第一距离为例,阐述第一距离的确定过程,第二距离与第三距离的确定方式与第一距离的确定方式一致,在本技术实施例中将不再赘述。
103.具体地,步骤“针对于每一个第一基准点,通过以下步骤确定该第一寻路基准点与所述当前位置之间的第一距离”,包括:
104.h1:针对于每一个第一基准点,基于所述当前位置的目标坐标信息,从所述位置点距离集合中确定出位置坐标信息与所述目标坐标信息一致的至少一条候选位置信息;
105.h2:针对于每一个第一基准点,从所述至少一条候选位置信息中,确定出与对应的寻路基准点标识信息与该寻路基准点一致的目标位置信息;
106.h3:针对于每一个第一基准点,将该条目标位置信息中包括的距离信息,确定为该第一寻路基准点与所述当前位置之间的第一距离。
107.在本技术实施例中,针对于每一个基准点,根据当前位置的目标坐标信息,先从位置点距离集合中确定出位置坐标信息与目标坐标信息一致的至少一条候选位置信息;然后针对于每一条候选位置信息,再确定出对应的寻路基准点标识信息与该寻路基准点一致的目标位置信息,然后将确定出的目标位置信息中包括的距离信息,确定为该第一寻路基准点与当前位置之间的第一距离。
108.其中,第二距离与第三距离的确定方式与第一距离的确定方式一致,在本技术实施例中将不再赘述。
109.进一步的,在确定出多个第一距离、多个第二距离以及多个第三距离后,分别将各个第一距离、各个第二距离以及各个第三距离进行排列组合,得到多组不同的(第一距离、第二距离、第三距离)的距离组合,分别将各个距离组合中的第一距离、第二距离以及第三距离相加,得到多个寻路距离。
110.s104、将所述多个寻路距离中,距离最短的寻路距离确定为目标距离,并根据所述目标距离,确定角色寻路时间。
111.在本技术实施例中,在确定出多个寻路距离后,从多个寻路距离中,确定出距离最短的寻路距离,并将该寻路距离确定为目标距离,同时根据确定出的目标距离,计算出角色寻路时间。
112.具体地,步骤“根据所述目标距离,确定角色寻路时间”,包括:
113.i1:基于所述目标距离以及预设的距离调整系数,确定实际寻路距离。
114.i2:基于所述实际寻路距离以及所述目标虚拟角色的移动速度,确定所述角色寻路时间。
115.在本技术实施例中,预估的目标距离一般会比在游戏场景中的实际寻路距离要长,因此,需要设置距离调整系数,来确定出实际寻路距离,在确定实际寻路距离后,根据实际寻路距离以及目标虚拟角色的移动速度,确定出角色寻路时间。
116.在一种可能的实施方式中,距离调整系数可以根据误差调整经验,设置为0.9~
0.98区间内的任一数值。
117.在另一种可能的实施方式中,在确定出多个寻路距离后,还可以根据不同的寻路距离对应的寻路路径上的路况(道路是否容易通过,在该条道路上的敌方虚拟角色的存在情况)来结合寻路距离进行筛选,以筛选出最为符合玩家寻路需求的道路。
118.具体地,可以设置不同的权重系数,将路况的不同维度以及寻路距离,进行加权计算,来计算每条寻路路径的道路评分,根据道路评分来筛选出目标路径,进而根据目标路径的距离来计算角色寻路时间。
119.s105、将所述目标距离以及所述角色寻路时间,显示在所述游戏大地图上的预设位置处。
120.在本技术实施例中,在确定出预估的目标寻路路径的目标距离以及角色寻路时间后,需要将目标距离以及寻路时间显示在游戏大地图上的预设位置处,以提示玩家由当前位置到达寻路终点位置处的距离。
121.在一种可能的实施方式中,游戏大地图上的预设位置可以是玩家在游戏大地图上的触控操作的操作位置处,即,寻路终点位置处;也可以是游戏大地图上的预设位置处,可以根据需求自行进行设定,在本技术实施例中,不作具体限定。
122.下面将通过具体示例,来对本技术实施例中的寻路信息的提示过程进行阐述,具体地:
123.步骤一:在接收到玩家在游戏大地图上的触控操作时,确定玩家当前位置坐标点j,目标坐标点k;
124.步骤二:查询位置点距离集合,得到点j到附近的若干基准点的寻路长度p
j1
,p
j2
,p
j3
...p
jn
,得到点k到附近若干基准点的寻路长度p
k1
,p
k2
,p
k3
...p
kn

125.步骤三:设p
j1
对应点j与基准点r,点p
k1
对应点k与基准点t,查询

基准点距离集合,得到基准点r与t之间的路径长度p
rt
,则点j到点k的预估路径长度为s
jk
=p
j1
+p
k1
+p
rt

126.步骤四:分别从出发点的p
jn
与目标点的p
kn
中任选一个,两两之间执行步骤三,则可以得到任意一个出发点到任意一个目标点的距离,记为sn,从n个预估路径s中选出其中最短的路径,即为预估路径长度。地图上若需要显示该寻路路径的角色寻路时间,则角色寻路时间=预估路径长度/角色行走速度;其中,为了消除预估路径长度与实际路径长度之间的误差,可以先将预估路径长度乘以距离调整系数后,再计算角色寻路时间。
127.本技术实施例提供的寻路信息的提示方法,响应于在游戏大地图上的触控操作,确定寻路终点位置;在确定目标虚拟角色的当前位置与寻路终点位置之间满足预设寻路处理条件后,确定当前位置对应的第一寻路基准点集合,以及寻路终点位置对应的第二寻路基准点集合;从预先存储的位置点距离集合以及基准点距离集合中,确定出第一寻路基准点集合中每个第一寻路基准点与当前位置之间的第一距离,第二寻路基准点集合中每个第二寻路基准点与寻路终点位置之间的第二距离以及每个第一寻路基准点与每个第二寻路基准点之间的第三距离,确定出多个寻路距离;将多个寻路距离中,最短的寻路距离确定为目标距离,并根据目标距离计算角色寻路时间;将目标距离以及角色寻路时间,显示在游戏大地图上的预设位置处。在本技术实施例中,通过虚拟角色的当前位置处的第一基准点集合以及寻路终点位置处的第二基准点集合,确定出当前位置处到寻路终点位置的多条整体寻路距离,并快速地筛选出多条整体寻路距离中最短的路径,进而快速地计算出角色寻路
时间,可以减少数据计算量,提升向玩家展示从当前位置到目标位置处的距离以及时间的效率,有助于提高人机交互效率。
128.基于同一发明构思,本技术实施例中还提供了与寻路信息的提示方法对应的寻路信息的提示装置,由于本技术实施例中的装置解决问题的原理与本技术实施例上述寻路信息的提示方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
129.请参阅图4至图5,图4为本技术实施例所提供的一种寻路信息的提示装置的结构示意图之一,图5为本技术实施例所提供的一种寻路信息的提示装置的结构示意图之二。如图4中所示,所述提示装置400包括:
130.位置确定模块410,用于响应于在所述游戏大地图上的触控操作,确定寻路终点位置;
131.基准点集合确定模块420,用于检测目标虚拟角色的当前位置与所述寻路终点位置之间是否满足预设寻路处理条件;若满足,确定所述当前位置所在地图区域中相邻区域中的第一寻路基准点集合,以及所述寻路终点位置所在地图区域中相邻区域中的第二寻路基准点集合;
132.寻路距离确定模块430,用于从预先存储的位置点距离集合以及基准点距离集合中,确定出所述第一寻路基准点集合中每个第一寻路基准点与所述当前位置之间的第一距离、所述第二寻路基准点集合中每个第二寻路基准点与所述寻路终点位置之间的第二距离、以及每个第一寻路基准点与每个第二寻路基准点之间的第三距离,确定出多个寻路距离;
133.寻路时间确定模块440,用于将所述多个寻路距离中,距离最短的寻路距离确定为目标距离,并根据所述目标距离,确定角色寻路时间;
134.信息展示模块450,用于将所述目标距离以及所述角色寻路时间,显示在所述游戏大地图上的预设位置处。
135.在一种可能的实施方式中,如图5所示,所述提示装置400还包括寻路基准点确定模块460,所述寻路基准点确定模块460用于通过以下步骤确定所述游戏大地图中的多个寻路基准点:
136.确定所述游戏大地图中每个地图区域中的连通域;所述连通域为各个地图区域中每个像素之间互相联通的区域;
137.针对于每一个连通域,确定该连通域的中心位置,以该连通域的中心位置为中心,在该连通域中确定出预设数量个寻路基准点;
138.集合每个地图区域中各个连通域的寻路基准点,确定所述游戏大地图中的多个寻路基准点。
139.在一种可能的实施方式中,如图5所示,所述提示装置400还包括位置点距离集合确定模块470,所述位置点距离集合确定模块470用于通过以下步骤确定所述位置点距离集合:
140.针对于所述游戏大地图中的任一位置,计算该位置到所述游戏大地图中每个寻路基准点的位置距离,保存位置距离小于第一预设距离阈值的位置距离的至少一个位置距离,生成该位置的子位置点距离集合;
141.集合所述游戏大地图中包含全部位置的子位置点距离集合,得到所述位置点距离
集合;
142.其中,所述位置点距离集合中包括多条位置距离信息,每条位置距离信息中包括位置坐标信息、对应的位置距离信息以及对应的寻路基准点标识信息。
143.在一种可能的实施方式中,如图5所示,所述提示装置400还包括位置检测模块480,所述位置检测模块480用于:
144.针对于所述游戏大地图中的任一位置,检测该位置所在的地图区域的预设区域范围内,是否存在位置距离信息计算完成的位置点;
145.针对于所述游戏大地图中的任一位置,若该位置所在地图区域的预设区域范围内存在位置距离信息的位置点,将位置距离信息计算完成的位置点的位置距离信息确定为该位置的位置距离信息。
146.在一种可能的实施方式中,如图5所示,所述提示装置400还包括基准点距离集合确定模块490,所述基准点距离集合确定模块490用于通过以下步骤确定所述基准点距离集合:
147.针对于所述游戏大地图中的任一寻路基准点,计算该寻路基准点到所述游戏大地图中除该寻路基准点之外各个其他寻路基准点之间的基准点距离,保存基准点距离小于第二预设距离阈值的位置距离的至少一个基准点距离,生成寻路基准点的子基准点距离集合;
148.集合所述游戏大地图中包含全部寻路基准点的子基准点距离集合,得到所述基准点距离集合;
149.其中,所述位置点距离集合中包括多条基准点距离信息,每条基准点距离信息中包括第一基准点标识信息、对应的基准点距离信息以及第二基准点标识信息。
150.在一种可能的实施方式中,所述基准点集合确定模块420用于通过以下步骤确定目标虚拟角色的当前位置与所述寻路终点位置之间满足预设寻路处理条件:
151.检测所述当前位置与所述寻路终点位置是否位于同一个地图区域中;
152.若所述当前位置与所述寻路终点位置不位于同一个地图区域中,确定目标虚拟角色的当前位置与所述寻路终点位置之间满足预设寻路处理条件。
153.在一种可能的实施方式中,所述基准点集合确定模块420用于通过以下步骤确定所述第一寻路基准点集合:
154.确定所述当前位置在所述游戏大地图中所属的目标区域,并以所述目标区域为中心,确定出与所述目标区域在不同预设方向上相连接的多个相邻区域;
155.将所述目标区域中的包括的寻路基准点以及各个相邻区域中包括的寻路基准点集合,确定为所述第一寻路基准点集合。
156.在一种可能的实施方式中,针对于每一个第一基准点,所述寻路距离确定模块430用于通过以下步骤确定该第一寻路基准点与所述当前位置之间的第一距离:
157.针对于每一个第一基准点,基于所述当前位置的目标坐标信息,从所述位置点距离集合中确定出位置坐标信息与所述目标坐标信息一致的至少一条候选位置信息;
158.针对于每一个第一基准点,从所述至少一条候选位置信息中,确定出与对应的寻路基准点标识信息与该寻路基准点一致的目标位置信息;
159.针对于每一个第一基准点,将该条目标位置信息中包括的距离信息,确定为该第
一寻路基准点与所述当前位置之间的第一距离。
160.在一种可能的实施方式中,所述寻路时间确定模块440在用于根据所述目标距离,确定角色寻路时间时,所述寻路时间确定模块440用于:
161.基于所述目标距离以及预设的距离调整系数,确定实际寻路距离;
162.基于所述实际寻路距离以及所述目标虚拟角色的移动速度,确定所述角色寻路时间。
163.本技术实施例提供的寻路信息的提示装置,响应于在游戏大地图上的触控操作,确定寻路终点位置;在确定目标虚拟角色的当前位置与寻路终点位置之间满足预设寻路处理条件后,确定当前位置对应的第一寻路基准点集合,以及寻路终点位置对应的第二寻路基准点集合;从预先存储的位置点距离集合以及基准点距离集合中,确定出第一寻路基准点集合中每个第一寻路基准点与当前位置之间的第一距离,第二寻路基准点集合中每个第二寻路基准点与寻路终点位置之间的第二距离以及每个第一寻路基准点与每个第二寻路基准点之间的第三距离,确定出多个寻路距离;将多个寻路距离中,最短的寻路距离确定为目标距离,并根据目标距离计算角色寻路时间;将目标距离以及角色寻路时间,显示在游戏大地图上的预设位置处。在本技术实施例中,通过虚拟角色的当前位置处的第一基准点集合以及寻路终点位置处的第二基准点集合,确定出当前位置处到寻路终点位置的多条整体寻路距离,并快速地筛选出多条整体寻路距离中最短的路径,进而快速地计算出角色寻路时间,可以减少数据计算量,提升向玩家展示从当前位置到目标位置处的距离以及时间的效率,有助于提高人机交互效率。
164.请参阅图6,图6为本技术实施例所提供的一种电子设备的结构示意图。如图6中所示,所述电子设备600包括处理器610、存储器620和总线630。
165.所述存储器620存储有所述处理器610可执行的机器可读指令,当电子设备600运行时,所述处理器610与所述存储器620之间通过总线630通信,使得所述处理器610在运行时执行以下指令:
166.响应于在所述游戏大地图上的触控操作,确定寻路终点位置;
167.检测目标虚拟角色的当前位置与所述寻路终点位置之间是否满足预设寻路处理条件;若满足,确定所述当前位置所在地图区域中相邻区域中的第一寻路基准点集合,以及所述寻路终点位置所在地图区域中相邻区域中的第二寻路基准点集合;
168.从预先存储的位置点距离集合以及基准点距离集合中,确定出所述第一寻路基准点集合中每个第一寻路基准点与所述当前位置之间的第一距离、所述第二寻路基准点集合中每个第二寻路基准点与所述寻路终点位置之间的第二距离、以及每个第一寻路基准点与每个第二寻路基准点之间的第三距离,确定出多个寻路距离;
169.将所述多个寻路距离中,距离最短的寻路距离确定为目标距离,并根据所述目标距离,确定角色寻路时间;
170.将所述目标距离以及所述角色寻路时间,显示在所述游戏大地图上的预设位置处。
171.一种可能的实施方式中,处理器610执行的指令中,通过以下步骤确定目标虚拟角色的当前位置与所述寻路终点位置之间满足预设寻路处理条件:
172.检测所述当前位置与所述寻路终点位置是否位于同一个地图区域中;
173.若所述当前位置与所述寻路终点位置不位于同一个地图区域中,确定目标虚拟角色的当前位置与所述寻路终点位置之间满足预设寻路处理条件。
174.一种可能的实施方式中,处理器610执行的指令中,通过以下步骤确定所述游戏大地图中的多个寻路基准点:
175.确定所述游戏大地图中每个地图区域中的连通域;所述连通域为各个地图区域中每个像素之间互相联通的区域;
176.针对于每一个连通域,确定该连通域的中心位置,以该连通域的中心位置为中心,在该连通域中确定出预设数量个寻路基准点;
177.集合每个地图区域中各个连通域的寻路基准点,确定所述游戏大地图中的多个寻路基准点。
178.一种可能的实施方式中,处理器610执行的指令中,通过以下步骤确定所述第一寻路基准点集合:
179.确定所述当前位置在所述游戏大地图中所属的目标区域,并以所述目标区域为中心,确定出与所述目标区域在不同预设方向上相连接的多个相邻区域;
180.将所述目标区域中的包括的寻路基准点以及各个相邻区域中包括的寻路基准点集合,确定为所述第一寻路基准点集合。
181.一种可能的实施方式中,处理器610执行的指令中,通过以下步骤确定所述位置点距离集合:
182.针对于所述游戏大地图中的任一位置,计算该位置到所述游戏大地图中每个寻路基准点的位置距离,保存位置距离小于第一预设距离阈值的位置距离的至少一个位置距离,生成该位置的子位置点距离集合;
183.集合所述游戏大地图中包含全部位置的子位置点距离集合,得到所述位置点距离集合;
184.其中,所述位置点距离集合中包括多条位置距离信息,每条位置距离信息中包括位置坐标信息、对应的位置距离信息以及对应的寻路基准点标识信息。
185.一种可能的实施方式中,处理器610执行的指令中,还包括:
186.针对于所述游戏大地图中的任一位置,检测该位置所在的地图区域的预设区域范围内,是否存在位置距离信息计算完成的位置点;
187.针对于所述游戏大地图中的任一位置,若该位置所在地图区域的预设区域范围内存在位置距离信息的位置点,将位置距离信息计算完成的位置点的位置距离信息确定为该位置的位置距离信息。
188.一种可能的实施方式中,处理器610执行的指令中,通过以下步骤确定所述基准点距离集合:
189.针对于所述游戏大地图中的任一寻路基准点,计算该寻路基准点到所述游戏大地图中除该寻路基准点之外各个其他寻路基准点之间的基准点距离,保存基准点距离小于第二预设距离阈值的位置距离的至少一个基准点距离,生成寻路基准点的子基准点距离集合;
190.集合所述游戏大地图中包含全部寻路基准点的子基准点距离集合,得到所述基准点距离集合;
191.其中,所述位置点距离集合中包括多条基准点距离信息,每条基准点距离信息中包括第一基准点标识信息、对应的基准点距离信息以及第二基准点标识信息。
192.一种可能的实施方式中,处理器610执行的指令中,针对于每一个第一基准点,通过以下步骤确定该第一寻路基准点与所述当前位置之间的第一距离:
193.针对于每一个第一基准点,基于所述当前位置的目标坐标信息,从所述位置点距离集合中确定出位置坐标信息与所述目标坐标信息一致的至少一条候选位置信息;
194.针对于每一个第一基准点,从所述至少一条候选位置信息中,确定出与对应的寻路基准点标识信息与该寻路基准点一致的目标位置信息;
195.针对于每一个第一基准点,将该条目标位置信息中包括的距离信息,确定为该第一寻路基准点与所述当前位置之间的第一距离。
196.一种可能的实施方式中,处理器610执行的指令中,所述根据所述目标距离,确定角色寻路时间,包括:
197.基于所述目标距离以及预设的距离调整系数,确定实际寻路距离;
198.基于所述实际寻路距离以及所述目标虚拟角色的移动速度,确定所述角色寻路时间。
199.通过上述方式,根据虚拟角色的当前位置处的第一基准点集合以及寻路终点位置处的第二基准点集合,快速地筛选出从当前位置处到寻路终点位置处的多条寻路距离中最短的路径,进而快速地计算出角色寻路时间,在减少数据计算量,提升向玩家展示从当前位置到目标位置处的距离以及时间的效率的同时,还能筛选出多条路径中的最短路径,提升了寻路的合理性,有助于提高人机交互效率;同时,在对不同位置的位置距离信息进行保存时,以将一个预设范围内的全部位置的位置距离信息设置为同一个,通过一个预设范围内的位置距离信息来表示预设范围内全部位置的位置距离信息,可以极大地减少存储数据的数量,节省存储空间。
200.本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,使得该计算机程序被处理器运行时执行以下指令:
201.响应于在所述游戏大地图上的触控操作,确定寻路终点位置;
202.检测目标虚拟角色的当前位置与所述寻路终点位置之间是否满足预设寻路处理条件;若满足,确定所述当前位置所在地图区域中相邻区域中的第一寻路基准点集合,以及所述寻路终点位置所在地图区域中相邻区域中的第二寻路基准点集合;
203.从预先存储的位置点距离集合以及基准点距离集合中,确定出所述第一寻路基准点集合中每个第一寻路基准点与所述当前位置之间的第一距离、所述第二寻路基准点集合中每个第二寻路基准点与所述寻路终点位置之间的第二距离、以及每个第一寻路基准点与每个第二寻路基准点之间的第三距离,确定出多个寻路距离;
204.将所述多个寻路距离中,距离最短的寻路距离确定为目标距离,并根据所述目标距离,确定角色寻路时间;
205.将所述目标距离以及所述角色寻路时间,显示在所述游戏大地图上的预设位置处。
206.一种可能的实施方式中,计算机可读存储介质执行的指令中,通过以下步骤确定目标虚拟角色的当前位置与所述寻路终点位置之间满足预设寻路处理条件:
207.检测所述当前位置与所述寻路终点位置是否位于同一个地图区域中;
208.若所述当前位置与所述寻路终点位置不位于同一个地图区域中,确定目标虚拟角色的当前位置与所述寻路终点位置之间满足预设寻路处理条件。
209.一种可能的实施方式中,计算机可读存储介质执行的指令中,通过以下步骤确定所述游戏大地图中的多个寻路基准点:
210.确定所述游戏大地图中每个地图区域中的连通域;所述连通域为各个地图区域中每个像素之间互相联通的区域;
211.针对于每一个连通域,确定该连通域的中心位置,以该连通域的中心位置为中心,在该连通域中确定出预设数量个寻路基准点;
212.集合每个地图区域中各个连通域的寻路基准点,确定所述游戏大地图中的多个寻路基准点。
213.一种可能的实施方式中,计算机可读存储介质执行的指令中,通过以下步骤确定所述第一寻路基准点集合:
214.确定所述当前位置在所述游戏大地图中所属的目标区域,并以所述目标区域为中心,确定出与所述目标区域在不同预设方向上相连接的多个相邻区域;
215.将所述目标区域中的包括的寻路基准点以及各个相邻区域中包括的寻路基准点集合,确定为所述第一寻路基准点集合。
216.一种可能的实施方式中,计算机可读存储介质执行的指令中,通过以下步骤确定所述位置点距离集合:
217.针对于所述游戏大地图中的任一位置,计算该位置到所述游戏大地图中每个寻路基准点的位置距离,保存位置距离小于第一预设距离阈值的位置距离的至少一个位置距离,生成该位置的子位置点距离集合;
218.集合所述游戏大地图中包含全部位置的子位置点距离集合,得到所述位置点距离集合;
219.其中,所述位置点距离集合中包括多条位置距离信息,每条位置距离信息中包括位置坐标信息、对应的位置距离信息以及对应的寻路基准点标识信息。
220.一种可能的实施方式中,计算机可读存储介质执行的指令中,还包括:
221.针对于所述游戏大地图中的任一位置,检测该位置所在的地图区域的预设区域范围内,是否存在位置距离信息计算完成的位置点;
222.针对于所述游戏大地图中的任一位置,若该位置所在地图区域的预设区域范围内存在位置距离信息的位置点,将位置距离信息计算完成的位置点的位置距离信息确定为该位置的位置距离信息。
223.一种可能的实施方式中,计算机可读存储介质执行的指令中,通过以下步骤确定所述基准点距离集合:
224.针对于所述游戏大地图中的任一寻路基准点,计算该寻路基准点到所述游戏大地图中除该寻路基准点之外各个其他寻路基准点之间的基准点距离,保存基准点距离小于第二预设距离阈值的位置距离的至少一个基准点距离,生成寻路基准点的子基准点距离集合;
225.集合所述游戏大地图中包含全部寻路基准点的子基准点距离集合,得到所述基准
点距离集合;
226.其中,所述位置点距离集合中包括多条基准点距离信息,每条基准点距离信息中包括第一基准点标识信息、对应的基准点距离信息以及第二基准点标识信息。
227.一种可能的实施方式中,计算机可读存储介质执行的指令中,针对于每一个第一基准点,通过以下步骤确定该第一寻路基准点与所述当前位置之间的第一距离:
228.针对于每一个第一基准点,基于所述当前位置的目标坐标信息,从所述位置点距离集合中确定出位置坐标信息与所述目标坐标信息一致的至少一条候选位置信息;
229.针对于每一个第一基准点,从所述至少一条候选位置信息中,确定出与对应的寻路基准点标识信息与该寻路基准点一致的目标位置信息;
230.针对于每一个第一基准点,将该条目标位置信息中包括的距离信息,确定为该第一寻路基准点与所述当前位置之间的第一距离。
231.一种可能的实施方式中,计算机可读存储介质执行的指令中,所述根据所述目标距离,确定角色寻路时间,包括:
232.基于所述目标距离以及预设的距离调整系数,确定实际寻路距离;
233.基于所述实际寻路距离以及所述目标虚拟角色的移动速度,确定所述角色寻路时间。
234.通过上述方式,根据虚拟角色的当前位置处的第一基准点集合以及寻路终点位置处的第二基准点集合,快速地筛选出从当前位置处到寻路终点位置处的多条寻路距离中最短的路径,进而快速地计算出角色寻路时间,可以减少数据计算量,提升向玩家展示从当前位置到目标位置处的距离以及时间的效率的同时,还能筛选出多条路径中的最短路径,提升了寻路的合理性,有助于提高人机交互效率;同时,在对不同位置的位置距离信息进行保存时,以将一个预设范围内的全部位置的位置距离信息设置为同一个,通过一个预设范围内的位置距离信息来表示预设范围内全部位置的位置距离信息,可以极大地减少存储数据的数量,节省存储空间。
235.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
236.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
237.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
238.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
239.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以
存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
240.最后应说明的是:以上所述实施例,仅为本技术的具体实施方式,用以说明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此,尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本技术实施例技术方案的精神和范围,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1