TC官方合作论坛

 找回密码
 立即注册
查看: 132|回复: 3

【剑仙教程】A星寻路。单元格的中心点

[复制链接]
发表于 2021-7-17 12:37:22 来自手机 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 剑仙十号 于 2021-7-20 11:38 编辑

A星寻路。单元格的中心点
  
第一步:采集地图数据:把小地图分成M横行,之后把每行 分成N列。根据小地图实际情况来,分好的单元格要粗点,不能太小。
.
这样小地图就分成了一个表。
在能通行的单元格,标上白色。
在不能通行的单元格,标上黑色。
  
  
第二步:每一个单元格,都是一个矩形区域。获取每个单元格的左上角座标,右下角座标,中心点座标。
.
首先获取小地图左上角的座标(Lx, Ly),右下角的座标(Rx, Ry)
在划分单元格时,每个横行距离是确定的。每个横行_划分竖列的距离,也是确定的。
W = (Rx-Lx)/N //单元格宽度
H = (Ry-Ly)/M //单元格高度
.
W2 = 单元格宽度/2 //半个单元格宽度
H2 = 单元格高度/2 //半个单元格高度
.
for(var i=0; i<M; i++)
for(var j=0; j<N; j++)
//单元格MN,
左上座标(Lx+W*j, Ly+H*i),
右下座标(Lx+W*(j+1), Ly+H*(i+1)),
中心点座标(Lx+W*j+W2, Ly+H*i+H2)
//这样可以把每个单元格,看成一个字符串变量,,把6个座标值和一个通行值,用","分割打包到字符串型变量。
//也可把每个单元格,看成一个int类型数组,,把6个座标值和一个通行值,储存到数组元素:arr座标[0],arr座标[1],arr座标[2],arr座标[3],arr座标[4],arr座标[5],arr座标[6]
end
end
  
  
第三步:获取当前座标,确定当前人物,处在哪个单元格。
获取目标座标。再确定目标座标,处在哪个单元格。
  
  
第四步:套入 A星寻路算法,得到行走路径。
游客,如果您要查看本帖隐藏内容请回复

原创作品。转载请标明作者,标明出处.
这只是一种操作方法。欢迎大家’分享更多操作方法,共同学习,共同进步.
  
回复

使用道具 举报

 楼主| 发表于 2021-7-17 12:42:39 来自手机 | 显示全部楼层
二楼,更新信息专用。
tc简单开发_兴趣群:
143358382 (497/500)

tc简单开发_爱好群:
433286131 (498/500)

tc简单开发_高级群:
891069033 (121/500)

编程四大F:
1、流程控制,2、变量和数组,
3、函数多线程,4、系统 api函数。
本群大神众多,新手众多,群文件内_资源海量。希望新手分享 更多的学习笔记,减少重复造轮子的时间。
回复 支持 反对

使用道具 举报

发表于 2021-7-20 17:31:01 | 显示全部楼层
学习学习中
回复 支持 反对

使用道具 举报

发表于 6 天前 | 显示全部楼层
看下这个东西
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2021-7-31 04:21 , Processed in 0.032633 second(s), 22 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表