|
本帖最后由 bestkakkoii 于 2022-5-15 00:05 编辑
最近刚好在整理之前写的东西,想说消失颇久的,心血来潮改写成TC专用A星
范例裡面很详细了,底下就大概贴调用方法
最多可以有65536组(0-65535)A星对象(C++实例化对象,不是TC的com对象)
不限制每个对象的地图数量(以ID区分对象[只能是0-65535的无符号短整数],以地图编号区分地图[任意字符串])
且每个对象的地图都是独立开的,读过一次之后会一直存在直到主动清除/进程结束/插件卸载
使用范例:

函数列表:
[地图类]
createNewMap --新建地图
addCollision --添加障碍物
removeCollision--移除障碍物
freeMap--释放指定地图
printMap--输出指定地图可视图档(BMP)
setRoadColor --设置输入/输出路面颜色
setWallColor--设置输入/输出牆体颜色
setPathColor--设置输出路径颜色
mapSaveAs--保存二进制地图
mapLoadFrom--载入二进制地图
readBitmap --载入BMP地图//根据设置的牆体颜色和路面颜色判断
enableAutoPrint--是否允许寻路自动输出路线图(BMP) 默认地图名称: id_mapid.bmp
setOutputDirectory--设置寻路路径图输出目录[不同ID分别输出默认进程路径]
isRoad--检查指定坐标是否为路
isCollision--检查指定坐标是否为障碍
[寻路类]
initialize--寻路初始化(每次用完寻路最好都调用一次,清理缓存+重新实例化)
setHeuristic--设置寻路启发式
setObliqueValue--设置斜角花费值
setStepValue--设置直角花费值
enableCorner--寻ˊ路是否允许拐角
start--开始寻路(返回TC数组字符串或一般的字符串路径座标)
//返回TC数组的格式如: array("1" = array("x" = 15, "y" = 20), "2" = array("x" = 16, "y" = 21),..................)
//一般格式如: 15,16|16,21|........
详细调用方法
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|