A星尋路算法 for cocos2dx-lua
A星尋路算法 for cocos2dx-lua
尋路的時候需要傳入開始坐標,目標坐標以及存放所有地塊格子的table。
1.關于地塊格子(block)的劃分方式
每個block為一個table local block = {} block.w = w --在整個地圖劃分中所處的行 block.h = h --在整個地圖劃分中所處的列 block.pos = pos --格子的中心點在地圖中的坐標 block.couldCross = true --表示該格子是否是可以通過的 然后將block以鍵值string.format("%d_%d",block.w,block.h) 存入blocks中
2.關于路徑的緩存 為了提高效率,完成一次尋路后會把相關路徑信息緩存到aster.cachedPaths中,在地圖變化時需要手動調用astar.clear_cached_paths清除緩存信息
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!