CN101635011B - 一种角色寻路方法及装置 - Google Patents
一种角色寻路方法及装置 Download PDFInfo
- Publication number
- CN101635011B CN101635011B CN2009101626327A CN200910162632A CN101635011B CN 101635011 B CN101635011 B CN 101635011B CN 2009101626327 A CN2009101626327 A CN 2009101626327A CN 200910162632 A CN200910162632 A CN 200910162632A CN 101635011 B CN101635011 B CN 101635011B
- Authority
- CN
- China
- Prior art keywords
- pathfinding
- role
- motion
- current
- result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Traffic Control Systems (AREA)
- Navigation (AREA)
Abstract
本发明提供了一种角色寻路方法及装置,包括当角色接收到操作指令时,根据角色当前的运动状态和运动方向,确定寻路时机,在寻路时机进行寻路并将寻路结果上报给服务器,服务器对寻路结果进行校验并返回校验结果。本发明针对不同的运动方向和运动状态,角色选择采用及时寻路或者启动冷却定时器并等待超时再寻路的方法,使得在角色行走的过程中,如果用户不断点击,而运动方向差异不大时,不会重复多次提出寻路请求,降低了寻路开销,也减少了向服务器端发送的路径校验请求。当运动方向差异过大,或者静止状态时,又保证了及时响应用户的操作,避免了用户感觉游戏迟钝(有延缓)的感觉。
Description
技术领域
本发明涉及游戏中的寻路技术,尤指一种角色寻路方法及装置。
背景技术
游戏中的角色,在用户操作其行走的过程中,需要进行角色寻路,同时服务器需要对寻路结果进行校验并返回检验结果。在这个过程中,寻路计算,以及服务器的校验都需要较大开销。
现有的角色寻路方法中,只要有用户操作就进行寻路,并向服务器发送校验请求;或者,完全采用一定时间间隔机制,比如预先设置一冷却定时器,当用户操作后,启动冷却定时器,待冷却定时器超时再进行寻路,以及向服务器发送校验请求。
对于只要有用户操作就进行寻路,并向服务器发送校验请求的方法,寻路操作太频繁是必然的;而对于完全采用一定时间间隔机制的方法,将存在不能够及时响应用户操作的问题,会造成用户感觉游戏迟钝(有延缓)的感觉。
另外,在现有的角色寻路方法中,服务器校验时,通常采用寻路比较法来对寻路结果进行校验,这样的校验机制也是一个巨大的开销。
发明内容
有鉴于此,本发明的主要目的在于提供一种角色寻路方法,能够避免频繁的寻路操作以及给用户带来游戏迟钝的感觉,节省开销,同时即使响应用户操作。
本发明的另一目的在于提供一种角色寻路装置,能够节省开销,同时即使响应用户操作。
为达到上述目的,本发明的技术方案是这样实现的:
一种角色寻路方法,该方法包括:
当角色接收到操作指令时,比较角色当前的运动方向与角色当前位置到到达点的方向是否一致,和/或确定角色当前运动状态是否为静止,
如果所述角色当前运动状态为静止,或者所述角色当前的运动方向和角色当前位置到到达点的方向不一致,则立即开始寻路;
如果所述角色当前运动状态为运动,且所述角色当前的运动方向和角色当前位置到到达点的方向一致,则启动预设冷却定时器,并在该冷却定时器超时时进行寻路;
将寻路结果上报给服务器。
所述服务器对寻路结果进行校验并返回校验结果。
所述比较角色当前的运动方向与角色当前位置到到达点的方向是否一致为:
当所述角色当前的运动方向与角色当前位置到到达点的方向的夹角小于预设夹角阈值时,所述角色当前的运动方向与角色到到达点的方向一致;否则,所述角色当前的运动方向与角色到到达点的方向不一致。
所述服务器对寻路结果进行校验为:所述服务器采用采样校验法对寻路结果进行校验。
所述采样校验法为:按照预设步长选取所述寻路结果的路径上的点,检测每一个点是否在预先设置的角色可行走区域内,如果所有的点均在预先设置的角色可行走区域内,则寻路结果合法,校验结果为成功;如果有一个点不在预先设置的角色可行走区域内,则认为寻路结果不合法,校验结果为失败。
一种角色寻路装置,该装置包括:寻路时机确定单元,和寻路上报单元;其中,寻路时机确定单元包括比较模块和确定模块;
比较模块,用于比较角色当前的运动方向与角色当前位置到到达点的方向是否一致,和/或确定角色当前运动状态是否为静止;在角色当前运动状态为静止,或者角色当前的运动方向和角色当前位置到到达点的方向不一致,向确定模块输出第一比较结果;在角色当前运动状态为运动,且角色当前的运动方向 和角色当前位置到到达点的方向一致,向确定模块输出第二比较结果;
确定模块,用于接收来自比较模块的第一比较结果,确定立即开始寻路,并向寻路上报单元输出寻路时机为第一寻路通知;接收来自比较模块的第二比较结果,确定启动预设冷却定时器,并在该冷却定时器超时时进行寻路,并向寻路上报单元输出寻路时机为第二寻路通知;
寻路上报单元,用于接收来自确定模块的寻路通知,当接收到第一寻路通知,立即开始寻路,并将寻路结果上报给服务器;当接收到第二寻路通知,立即启动冷却定时器,在冷却定时器超时时开始寻路,并将寻路结果上报给服务器。
所述寻路上报单元包括寻路模块和上报模块,其中,
寻路模块,用于接收来自寻路时机确定单元输出的寻路时机,当接收到第一寻路时机,立即开始寻路,并将寻路结果输出给上报模块;当接收到第二寻路时机,立即启动冷却定时器,在冷却定时器超时时开始寻路,并将寻路结果输出给上报模块。
上报模块,用于将接收到的寻路结果上报给服务器。
从上述本发明提供的技术方案可以看出,包括当角色接收到操作指令时,根据角色当前的运动状态和运动方向,确定寻路时机,在寻路时机进行寻路并将寻路结果上报给服务器,服务器对寻路结果进行校验并返回校验结果。本发明针对不同的运动方向和运动状态,角色选择采用及时寻路或者启动冷却定时器并等待超时再寻路的方法,使得在角色行走的过程中,如果用户不断点击,而运动方向差异不大时,不会重复多次提出寻路请求,降低了寻路开销,也减少了向服务器端发送的路径校验请求。当运动方向差异过大,或者静止状态时,又保证了及时响应用户的操作,避免了用户感觉游戏迟钝(有延缓)的感觉。
附图说明
图1为本发明角色寻路方法的流程图;
图2为本发明角色寻路装置的组成结构示意图。
具体实施方式
图1为本发明角色寻路方法的流程图,如图1所示,本发明方法包括:
步骤100:当角色接收到操作指令时,根据角色当前的运动状态和运动方向,确定寻路时机。
角色接收到来自用户的到到达点P的命令时,表明用户对角色进行了操作,对于角色的每一次操作,就进行一次寻路。此时,比较角色当前的运动方向与角色当前位置到到达点P的方向是否一致,和/或确定角色当前运动状态是否为静止。这里,角色当前的运动方向以及角色当前运动状态是系统保存有的信息。
其中,比较角色当前的运动方向与角色当前位置到到达点P的方向是否一致为:当二者的夹角小于预设夹角阈值时,认为角色当前的运动方向与角色到到达点P的方向一致(方向差异不大);否则,认为角色当前的运动方向与角色到到达点P的方向不一致(方向差异过大)。
如果角色当前运动状态为静止,或者角色当前的运动方向和角色当前位置到到达点p的方向不一致,那么,确定寻路时机为立即开始寻路。这样,保证了及时响应用户的操作,避免了用户感觉游戏迟钝(有延缓)的感觉。
如果角色当前运动状态为运动,而且角色当前的运动方向和角色当前位置到到达点p的方向一致,那么,确定寻路时机为预设冷却定时器超时时,并立即启动冷却定时器。这样,在角色行走的过程中,如果用户不断点击,不会重复多次提出寻路请求,降低了寻路开销,也减少了向服务器端发送的路径校验请求。
需要说明的是,在角色当前运动状态为静止状态下,不考虑角色的运动方向,或者说任何对角色的操作的方向都看成与角色当前的运动方向是不一致的。
步骤101:在所确定的寻路时机进行寻路,并将寻路结果上报给服务器。
进一步地,服务器对寻路结果进行校验并返回校验结果。为了进一步减少开销,服务器可以采用采样校验法对寻路结果进行校验。采样校验法的实现包括:按照预设步长选取寻路结果的路径上的点,检测寻路结果的路径上每一个点是否合法,如果寻路结果的路径上的所有的点均合法,则认为寻路结果合法,校验结果为成功;如果寻路结果的路径上有一个点不合法,则认为寻路结果不合法,校验结果为失败。这里,合法是指路径上的所有点均在预先设置的角色可行走区域内;不合法是指路径上有一个点不在预先设置的角色可行走区域内。
通过本发明方法可见,针对不同的运动方向和运动状态,角色选择采用及时寻路或者启动冷却定时器并等待超时再寻路的方法,使得在角色行走的过程中,如果用户不断点击,而运动方向差异不大时,不会重复多次提出寻路请求,降低了寻路开销,也减少了向服务器端发送的路径校验请求。当运动方向差异过大,或者静止状态时,又保证了及时响应用户的操作,避免了用户感觉游戏迟钝(有延缓)的感觉。
另外,在服务器校验时采用采样校验法,相对于寻路比较法,极大地节省了服务器开销。
图2为本发明角色寻路装置的组成结构示意图,如图2所示,本发明装置包括寻路时机确定单元和寻路上报单元,其中,
寻路时机确定单元,用于在劫色接收到操作指令时,根据角色当前的运动状态和运动方向,确定寻路时机并输出给寻路上报模块。
寻路上报单元,用于接收来自寻路时机确定模块的寻路时机,并在寻路时机进行寻路,将寻路结果上报给服务器。
其中,寻路时机确定单元包括比较模块和确定模块,其中,
比较模块,用于在接收到用户操作时,比较角色当前的运动方向与角色当前位置到到达点P的方向是否一致,和/或确定角色当前运动状态是否为静止。在角色当前运动状态是静止的,或者角色当前的运动方向和角色当前位置到到达点p的方向不一致,向确定模块输出第一比较结果;在角色当前运动状态是运动的,而且角色当前的运动方向和角色当前位置到到达点p的方向一致,向 确定模块输出第二比较结果。
确定模块,用于接收来自比较模块的第一比较结果,确定寻路时机为立即开始寻路,并向寻路上报单元输出寻路时机为第一寻路时机;接收来自比较模块的第二比较结果,确定寻路时机为预设冷却定时器超时时,并向寻路上报单元输出寻路时机为第二寻路时机。
寻路上报单元包括寻路模块和上报模块,其中,
寻路模块,用于接收来自寻路时机确定单元输出的寻路时机,当接收到第一寻路时机,立即开始寻路,并将寻路结果输出给上报模块;当接收到第二寻路时机,立即启动冷却定时器,在冷却定时器超时时开始寻路,并将寻路结果输出给上报模块。
上报模块,用于将接收到的寻路结果上报给服务器。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种角色寻路方法,其特征在于,该方法包括:
当角色接收到操作指令时,比较角色当前的运动方向与角色当前位置到到达点的方向是否一致,和/或确定角色当前运动状态是否为静止,
如果所述角色当前运动状态为静止,或者所述角色当前的运动方向和角色当前位置到到达点的方向不一致,则立即开始寻路;
如果所述角色当前运动状态为运动,且所述角色当前的运动方向和角色当前位置到到达点的方向一致,则启动预设冷却定时器,并在该冷却定时器超时时进行寻路;
将寻路结果上报给服务器。
2.根据权利要求1所述的角色寻路方法,其特征在于,所述服务器对寻路结果进行校验并返回校验结果。
3.根据权利要求1或2所述的角色寻路方法,其特征在于,所述比较角色当前的运动方向与角色当前位置到到达点的方向是否一致为:
当所述角色当前的运动方向与角色当前位置到到达点的方向的夹角小于预设夹角阈值时,所述角色当前的运动方向与角色到到达点的方向一致;否则,所述角色当前的运动方向与角色到到达点的方向不一致。
4.根据权利要求2所述的角色寻路方法,其特征在于,所述服务器对寻路结果进行校验为:所述服务器采用采样校验法对寻路结果进行校验。
5.根据权利要求4所述的角色寻路方法,其特征在于,所述采样校验法为:按照预设步长选取所述寻路结果的路径上的点,检测每一个点是否在预先设置的角色可行走区域内,如果所有的点均在预先设置的角色可行走区域内,则寻路结果合法,校验结果为成功;如果有一个点不在预先设置的角色可行走区域内,则认为寻路结果不合法,校验结果为失败。
6.一种角色寻路装置,其特征在于,该装置包括:寻路时机确定单元,和寻路上报单元;其中,寻路时机确定单元包括比较模块和确定模块;
比较模块,用于比较角色当前的运动方向与角色当前位置到到达点的方向是否一致,和/或确定角色当前运动状态是否为静止;在角色当前运动状态为静止,或者角色当前的运动方向和角色当前位置到到达点的方向不一致,向确定模块输出第一比较结果;在角色当前运动状态为运动,且角色当前的运动方向和角色当前位置到到达点的方向一致,向确定模块输出第二比较结果;
确定模块,用于接收来自比较模块的第一比较结果,确定立即开始寻路,并向寻路上报单元输出寻路时机为第一寻路通知;接收来自比较模块的第二比较结果,确定启动预设冷却定时器,并在该冷却定时器超时时进行寻路,并向寻路上报单元输出寻路时机为第二寻路通知;
寻路上报单元,用于接收来自确定模块的寻路通知,当接收到第一寻路通知,立即开始寻路,并将寻路结果上报给服务器;当接收到第二寻路通知,立即启动冷却定时器,在冷却定时器超时时开始寻路,并将寻路结果上报给服务器。
7.根据权利要求6所述的角色寻路装置,其特征在于,所述寻路上报单元包括寻路模块和上报模块,其中,
寻路模块,用于接收来自寻路时机确定单元输出的寻路时机,当接收到第一寻路时机,立即开始寻路,并将寻路结果输出给上报模块;当接收到第二寻路时机,立即启动冷却定时器,在冷却定时器超时时开始寻路,并将寻路结果输出给上报模块;
上报模块,用于将接收到的寻路结果上报给服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101626327A CN101635011B (zh) | 2009-08-14 | 2009-08-14 | 一种角色寻路方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101626327A CN101635011B (zh) | 2009-08-14 | 2009-08-14 | 一种角色寻路方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101635011A CN101635011A (zh) | 2010-01-27 |
CN101635011B true CN101635011B (zh) | 2012-05-23 |
Family
ID=41594197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101626327A Active CN101635011B (zh) | 2009-08-14 | 2009-08-14 | 一种角色寻路方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101635011B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102387132B (zh) * | 2011-08-25 | 2014-05-14 | 北京像素软件科技股份有限公司 | 战斗系统实现方法 |
CN103714234B (zh) * | 2013-08-09 | 2017-01-25 | 网易(杭州)网络有限公司 | 一种游戏中确定对象移动路径的方法和设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1196508C (zh) * | 1996-06-05 | 2005-04-13 | 世嘉股份有限公司 | 游戏用图象处理装置 |
CN1941788A (zh) * | 2005-09-26 | 2007-04-04 | 腾讯科技(深圳)有限公司 | 一种联网游戏中角色的移动方法 |
-
2009
- 2009-08-14 CN CN2009101626327A patent/CN101635011B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1196508C (zh) * | 1996-06-05 | 2005-04-13 | 世嘉股份有限公司 | 游戏用图象处理装置 |
CN1941788A (zh) * | 2005-09-26 | 2007-04-04 | 腾讯科技(深圳)有限公司 | 一种联网游戏中角色的移动方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101635011A (zh) | 2010-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102316409B (zh) | 一种位置服务与微博互动的方法及位置服务终端 | |
WO2017075965A1 (zh) | 语音信息处理方法及装置 | |
WO2018064906A1 (zh) | 车辆定位方法和车辆定位系统 | |
WO2005048136A3 (en) | Using grid-based computing to search a network | |
CA2517548A1 (en) | Update system and method for updating a scanning subsystem in a mobile communication framework | |
CN105120223A (zh) | 一种获取景点视图的方法及系统 | |
WO2012051833A1 (zh) | 移动终端工作模式处理方法及移动终端 | |
CN101635011B (zh) | 一种角色寻路方法及装置 | |
WO2004044738A3 (en) | Techniques for supporting application-specific access controls with a separate server | |
CN101193081A (zh) | 信息提示方法和终端 | |
CN113891410A (zh) | 一种ims网络注册方法及装置、终端、可读存储介质 | |
WO2007019284A3 (en) | Methods and arrangements for managing automated switching | |
CN103002488B (zh) | 基于sip的监控方法及监控装置 | |
CN110765371A (zh) | 可移动垃圾桶的位置选择方法、系统以及存储介质 | |
CN102999628A (zh) | 搜索方法和信息搜索终端 | |
CN106201271A (zh) | 横竖屏切换控制方法及装置 | |
CN103399795A (zh) | 通讯录同步方法及装置 | |
CN103425930B (zh) | 一种在线实时脚本检测方法及系统 | |
CN105991509B (zh) | 会话处理方法及装置 | |
CN104410990B (zh) | 实现接入认证服务器切换的方法和系统 | |
CN106412016A (zh) | 服务器的连接控制方法及装置 | |
CN101656652A (zh) | 动态内容分发的内容同步方法、设备及系统 | |
CN102841885B (zh) | 建立对象锚定关系的方法和装置 | |
CN109891836A (zh) | 具有智能回复和漫游草稿的电子邮件 | |
CN111131002A (zh) | 聊天记录的追踪方法、系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |