|
发表于 2015-12-3 05:40:24
|
显示全部楼层
如果你地图中需要寻路的单位比较少的话,你这样就可以了。
但是,如果有大量单位需要寻路,你这样实时的算会非常耗时,也就是玩家电脑差的话要卡。
使用个路由表的优缺点:
缺点:
1,在建立的时候会消耗大量时间。
2,占更多的内存。
优点:
1,建立好后,寻路就是简单数组查询,即使是大量单位乱移动也不会因为寻路卡。例如,每个单位只要标记其需要去的区N,当他到达一个区X时,X查询路由表,会告诉他要去N,你下一个需要去的是Y区域。
路由表:
每个区域Ai需要记录为了到区域Aj(j!=i)应该去的下一个区域Ak(k!=i)是什么。Ak和Ai连通
例如,当单位U,需要去A4时,他目前在A1.
A1的表是
想去的区域 | 下一个应该去的区域
A5 A2
A4 A3
A3 A3
A2 A2
查表,要去A4,应该去A3,移动到A3
A3的表
想去的区域 | 下一个应该去的区域
A4 A4
A1 A1
查表, 要去A4, 应该去A4,移动到A4 |
|