前面已经分析到寻路算法,这个是RPG游戏的必经之路,因为角色的移动都是根据鼠标点击来实现,而点击的鼠标位置就是角色将要到达的目标位置。角色所在位置与目标位置就有一定的距离,并且之间有各种地形,以及各种游戏角色动态地阻挡。因此角色所在位置与目标位置之间,就需要采用一定有效的算法来找到移动的路径。
上面所说的算法,就是在文件PathFinder.cs里进行封装,封装成一个类PathFinder。在这个类的函数FindUnitPath里,你会发现它调用另外一个类PathSearch来进行路径搜索,这个类实现了地图两个坐标点之间的路径查找,并返回对应的坐标列表。
因此,我们先来分析类PathSearch的实现过程,才能更好理解这个寻路算法,可以看到此类声明如下:
public sealed class PathSearch : BasePathSearch
可以看到它是继承基类BasePathSearch,而基类BasePathSearch又是继承IPathSearch接口,它的声明如下:</