这是一个A星搜索算法在 Cocos Creator 上的简单实现。它作为一个组件,加在TiledMap上。
通过 TildMap 的一个图层,来读取障碍物的位置。
支持 4方向
和 8方向
两种移动方式。
用的是现在最新的Cocos Creator v1.1.0-rc1
演示效果
可以在访问 http://luckytianyiyan.github.io/A-star/,玩耍这个演示。
- 4 方向
- 8 方向
最后
我并不太懂js,平时用都是写自己的web前端时候,用用jQuery。
如果你review我的代码,感觉有什么看不顺眼的,请在这里随意侮辱我: luckytianyiyan/A-star/issues
讲道理的话,如果你用心玩儿,会发现 Demo 里面小人走起来挺蠢的。
这里的实践方式挺粗糙,A star是被人讲烂了的算法,有很多已经被提出来的改进方案,可以自行查找。
地图大起来之后,A star的效率并不感人。
这里的A star没有应用任何的优化。比如,树结构对性能的提升还是很有帮助的,但是这里里面没写。
因为其实我是为了写Navigation Mesh。