TA的每日心情 | 开心 2024-12-9 18:45 |
---|
签到天数: 124 天 [LV.7]常住居民III
|
欢迎您注册加入!这里有您将更精采!
您需要 登录 才可以下载或查看,没有账号?注册
x
(**************************************************************************************************
关于TLegendMap(位于PathFind.pas)的用法
1、FLegendMap:=TLegendMap.Create;
FLegendMap.LoadMap('mapfile')返回地图数据TMapData
FLegendMap.SetStartPos(StartX, StartY,PathSpace)
Path:=FLegendMap.FindPath(StopX, StopY)
2、FLegendMap:=TLegendMap.Create;
FLegendMap.LoadMap('mapfile')返回地图数据TMapData
Path:=FLegendMap.FindPath(StartX,StartY,StopX, StopY,PathSpace)
其中
Path为TPath = array of TPoint 为nil时表示不能到达
第一个值为起点,最后一个值为终点
PathSpace为离开障碍物多少个象素
**************************************************************************************************)
(**************************************************************************************************
关于TPathMap的特点
1、不需要传递地图数据,节省内存的频繁拷贝
2、可自定义估价函数,根据自己需要产生不同路径
关于TPathMap的用法
1、定义估价函数MovingCost(X, Y, Direction: Integer)
只需根据自定义的地图格式编写)
2、FPathMap:=TPathMap.Create;
FPathMap.MakePathMap(MapHeader.width, MapHeader.height, StartX, StartY,MovingCost);
Path:=FPathMap.FindPathOnMap( EndX, EndY)
其中Path为TPath = array of TPoint;
如果不喜欢在TPathMap外部定义估价函数,可继承TPathMap,
将地图数据的读取和估价函数封装成一个类使用。
****************************************************************************************************)
pmes_Mir2MapPath.rar
(638.23 KB, 下载次数: 373)
|
|