寻路演示器LOG

本文探讨了游戏开发中寻路算法的优化方法,包括如何统一寻路节点与绘制节点、利用列表复用减少重复计算、保存路径方向信息等技巧,并提出了一种适用于球形地图的寻路方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 寻路节点与实际绘制节点是两套节点,不太方便,考虑用一套节点或其他方法连接起来,只要改变了其中一方面,另一方面能够同时相应

2. 编个寻路的lib,在MapDraw工程中使用,以为是很方便的,但这个寻路库写的还不完善,需要不停地改写东西,尤其是改掉.h文件之后,忘了在MapDraw中同步修改,所以会导致两边.h文件不一样,出现BUG。。。刚才解决了,用了个.bat的批处理,添加到寻路的工程中,操作时编完后将.h文件同时复制到MapDraw工程中

3. 刚想到些东西,是关于2的。既然要用2这种方法进行开发的话,那更好的方法是将这两个工程放到同一个Solution下,这样就不用打开两个vs分别来回切换修改了

4. 刚在rules接口中加了两个函数,用来设置用什么算法计算h,以及设置扩展方向是8方向还是4方向。我记得以前写的时候就是遇到什么需求就直接在接口中添加,不管是否具有通用性。。。不知道这次对以后有什么深远的影响啊。。。

5. 打开,关闭列表的复用。当执行完一次寻路之后,如果下一此寻路的起点没变,终点在原终点的附近时,可以复用上一次的打开关闭列表,直接判断该终点是否在打开列表中即可,没有在,则继续扩展。

6. 路径的保存,原来不仅可以保存路径节点的位置,还可以保存下一步的方向。

7. 看老外的文章有一段是讨论对球形地图的寻路的,我觉得直接将边缘的节点的扩展连接到另一个边缘不就实现球形了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值