首页
社区
课程
招聘
未解决 传奇寻路生成路径后,行进时被怪物挡住,被技能强制位移(抗拒,野蛮),无法按A*生成路径前进,有什么方式来处理,来完成寻路至目的地? 10雪币
发表于: 2024-9-12 11:30 991

未解决 传奇寻路生成路径后,行进时被怪物挡住,被技能强制位移(抗拒,野蛮),无法按A*生成路径前进,有什么方式来处理,来完成寻路至目的地? 10雪币

2024-9-12 11:30
991

A*生成的路径,仅仅以地图建筑是否通行生成路径,并没有考虑怪物会占据一个 地图可通行的 坐标点,导致人物无法通行。比如:生成路径有Y点,该点由地图障碍物来看,确实可通行,但是该点有怪物占着,人物按既定生成路径行进,经过Y点时,被怪挡住无法通行,怎么处理这种?

人物按生成路径行进,被玩家强制位移(野蛮冲撞,抗拒火环类似技能),此时也无法按既定路线走,怎么处理这种?

人物按生成路径行进,还有可能被怪物,玩家,NPC,宝宝等围住,怎么处理这种?

有没有一种完善的逻辑,来完成 移动至目的地。

从逻辑上论证可行的方案。以传奇为例。


[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 105
活跃值: (4180)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
插入动态阻挡 重新寻路
6天前
0
雪    币: 232
活跃值: (657)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
Imxz 插入动态阻挡 重新寻路
你说的  插入动态阻挡  是指 在障碍物数组里标识一下怪物的坐标点不可通行,然后,生成路径就不会经过怪物所在点,绕着怪物走,是这个意思吗
6天前
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
得拥抱变化  既定的路线 肯定是无法完美执行的 所以只能不停的重新制定路线
6天前
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
WYYZCAYQ 你说的 插入动态阻挡 是指 在障碍物数组里标识一下怪物的坐标点不可通行,然后,生成路径就不会经过怪物所在点,绕着怪物走,是这个意思吗
你这啥脑回路
你肯定是要一个函数 叫做 bool 是否障碍(x,y)
你本来里面只判断障碍物数组里面是否标识为障碍物 
现在你额外加上一个条件 周围遍历里面没有对象的坐标是等于xy的(就是这个坐标上不能站着有怪物)

你得有函数式的编程思维  多去看看面向对象的东西吧
6天前
0
雪    币: 2095
活跃值: (3592)
能力值: ( LV6,RANK:81 )
在线值:
发帖
回帖
粉丝
6
走几步就重新算一下
5天前
0
雪    币: 12
活跃值: (3790)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
直接传送
5天前
0
雪    币: 232
活跃值: (657)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
TheCCXXSS 你这啥脑回路 你肯定是要一个函数 叫做 bool 是否障碍(x,y) 你本来里面只判断障碍物数组里面是否标识为障碍物 现在你额外加上一个条件 周围遍历里面没有对象的坐标是等于xy的(就是这个坐 ...
谢谢帮助!
你大概意思就是:在判断障碍物代码那里进行更改。更改为:该点没有地图障碍物 且 该点没被周围对象占据 ,那么该点可通行。其它情况不可通行。
通过周围对象里,有没有该坐标,来判断该坐标是否被周围对象占据。
当判定移动到下个坐标点失败,就重新生成路径,如果生成成功,路径也必然是绕过当前怪物的路径。如果生成失败,说明人物被围住了,执行 一些突围操作(回程,或者打最近怪,直到能生成通行路径突围)
5天前
0
游客
登录 | 注册 方可回帖
返回
//