2d 路点 寻路 PointGraph

很多时候,我们需要设计路点,让物体或角色 按规定的路线走,这种做法 比  其他寻路  效率更高,当然 路径是 固定的。

我找了很多 路点 插件 ,发现他们有一个最大的问题,就是 不能走岔道,只能是一条路 走到黑,有多条路的时候,就不能用了。

后来我 看了 AstarPathfindingProject  寻路 插件 中有 类似 路点的 寻路设计,感觉就是他了。不过 demo 是 3d版本,

如果要 2d  就必须改造,于是我花了几小时,改进了下。

主要是 改进 ai path,如下图,删除了很多 影响效率的代码。以及新增了 2d 移动方案。

 

最后效果如下图

 

 红线 代表 不能 通过。蓝色线 代表 可以过, 没有线 代表 太远 也不能过。绿色线 代表  正在 走的  路径。

可以发现,整个过程很流畅。哈哈

然后 ,这个用途  在 小地图 人物 走路 比较好。

转载于:https://www.cnblogs.com/big-zhou/p/11165656.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cocos2d是一个开源的游戏开发框架,它提供了许多功能和工具,方便开发者创建各种类型的游戏。在Cocos2d中,寻路是一项非常重要的功能,它可以让游戏中的角色智能地移动,避开障碍物并找到最短路径。 Cocos2d中的寻路算法通常使用A*算法来实现。A*算法是一种启发式搜索算法,它能够在不完全了解搜索空间的情况下,找到最优解。A*算法通过评估每个格子的代价函数,实现对路径的评估和选择。在寻路过程中,起点和终点被认为是特殊的格子,然后检索周围的格子,计算每个格子的代价函数,选择代价函数最低的格子进行移动。通过反复迭代这个过程,直到找到终点。 Cocos2d中的寻路功能通常通过一个名为TileMap的类来实现。TileMap类是一个由网格组成的地图,每个网格表示一个可走或不可走的区域。在TileMap中,我们可以定义障碍物或者地形的属性,然后使用寻路算法来计算最短路径。 在使用Cocos2d进行寻路的过程中,需要注意以下几点: 1. 准备好地图数据,并将其导入到TileMap中。 2. 配置TileMap的节点类和代价函数,以便正确评估路径。 3. 使用A*算法来计算路径,获取寻路结果。 4. 将寻路结果应用于游戏角色的移动。 总之,Cocos2d中的寻路功能提供了方便的工具和算法,帮助开发者实现游戏角色的智能移动。通过合理使用寻路功能,游戏可以更加真实和有趣。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值