資源簡(jiǎn)介
Unity3d利用A*算法實(shí)現(xiàn)尋路模擬
博客地址:blog.liujunliang.com.cn

代碼片段和文件信息
using?System.Collections;
using?System.Collections.Generic;
using?UnityEngine;
public?class?AStarAlgorithm?
{
????private?const?int?mGridWidth?=?20;????
????private?const?int?mGridHeight?=?10;
????//使用二維數(shù)組存儲(chǔ)點(diǎn)網(wǎng)格????
????public?AStarPoint[]?mPointGrid?=?new?AStarPoint[mGridWidthmGridHeight];
????//存儲(chǔ)路徑方格子
????public?List?mPathPosList?=?new?List();
????private?static?AStarAlgorithm?_instance;
????public?static?AStarAlgorithm?GetInsatnce
????{
????????get
????????{
????????????if?(_instance?==?null)
????????????{
????????????????_instance?=?new?AStarAlgorithm();
????????????}
????????????return?_instance;
????????}
????}
????public?AStarAlgorithm()
????{
????????InitPoint();
????}
????//在網(wǎng)格上設(shè)置點(diǎn)的信息
????private?void?InitPoint()
????{
????????for?(int?i?=?0;?i?????????{
????????????for?(int?j?=?0;?j?????????????{????????????????
????????????????mPointGrid[i?j]?=?new?AStarPoint(i?j);
????????????}
????????}
????????//設(shè)置障礙物
????????mPointGrid[4?2].mIsObstacle?=?true;
????????mPointGrid[4?3].mIsObstacle?=?true;
????????mPointGrid[4?4].mIsObstacle?=?true;
????????mPointGrid[4?5].mIsObstacle?=?true;
????????mPointGrid[4?6].mIsObstacle?=?true;
????????mPointGrid[9?2].mIsObstacle?=?true;
????????mPointGrid[9?3].mIsObstacle?=?true;
????????mPointGrid[9?4].mIsObstacle?=?true;
????????mPointGrid[9?5].mIsObstacle?=?true;
????????mPointGrid[9?6].mIsObstacle?=?true;
????????mPointGrid[14?2].mIsObstacle?=?true;
????????mPointGrid[14?3].mIsObstacle?=?true;
????????mPointGrid[14?4].mIsObstacle?=?true;
????????mPointGrid[14?5].mIsObstacle?=?true;
????????mPointGrid[14?6].mIsObstacle?=?true;
????????//顯示障礙物
????????for?(int?x?=?0;?x?????????{
????????????for?(int?y?=?0;?y?????????????{
????????????????if?(mPointGrid[x?y].mIsObstacle)
????????????????{
????????????????????CreatePath(x?y?Color.blue);
????????????????}
????????????}
????????}
????}
????public?void?ClearGrid()
????{
????????for?(int?x?=?0;?x?????????{
????????????for?(int?y?=?0;?y?????????????{
????????????????if?(!mPointGrid[x?y].mIsObstacle)
????????????????{
????????????????????if?(mPointGrid[x?y].mGameobject?!=?null)
????????????????????{
????????????????????????Gameobject.Destroy(mPointGrid[x?y].mGameobject);
????????????????????????mPointGrid[x?y].mGameobject?=?null;
????????????????????????//重新設(shè)置父節(jié)點(diǎn)
????????????????????????mPointGrid[x?y].mParentPoint?=?null;
????????????????????}
????????????????}
????????????}
????????}
????}
????//尋路
????public?List?FindPath(AStarPoint?mStartPoint?AStarPoint?mEndPoint)
????{
????????if?(mEndPoint.mIsObstacle?||?mStartPoint.mPosition?==?mEndPoint.mPosition)
????????{
????????????return??null;
????????}
????????//開啟列表
????????List?openPointList?=?new?List();
????????//關(guān)閉列表
????????List?closePointList?=?new?List();
????????openP
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-11-03?23:46??AStarXunLuSuanFa\
?????目錄???????????0??2017-11-03?23:23??AStarXunLuSuanFa\.vs\
?????目錄???????????0??2017-11-03?23:23??AStarXunLuSuanFa\.vs\AStarXunLuSuanFa\
?????目錄???????????0??2017-11-03?23:46??AStarXunLuSuanFa\.vs\AStarXunLuSuanFa\v15\
?????文件???????33792??2017-11-03?23:46??AStarXunLuSuanFa\.vs\AStarXunLuSuanFa\v15\.suo
?????目錄???????????0??2017-11-03?16:11??AStarXunLuSuanFa\.vs\Game?AI?Programming?Project\
?????目錄???????????0??2017-11-03?16:11??AStarXunLuSuanFa\.vs\Game?AI?Programming?Project\v15\
?????文件???????97280??2017-11-03?16:09??AStarXunLuSuanFa\.vs\Game?AI?Programming?Project\v15\.suo
?????目錄???????????0??2017-11-03?16:11??AStarXunLuSuanFa\.vs\Game?AI?Programming?Project\v15\sqlite3\
?????文件??????663552??2017-11-03?16:09??AStarXunLuSuanFa\.vs\Game?AI?Programming?Project\v15\sqlite3\storage.ide
?????目錄???????????0??2017-11-03?23:46??AStarXunLuSuanFa\Assets\
?????文件??????433664??2017-11-03?16:26??AStarXunLuSuanFa\Assets\AStar尋路.doc
?????文件?????????175??2017-11-03?17:22??AStarXunLuSuanFa\Assets\AStar尋路.doc.me
?????文件??????449560??2017-11-03?16:09??AStarXunLuSuanFa\Assets\AStar尋路.pdf
?????文件?????????175??2017-11-03?16:09??AStarXunLuSuanFa\Assets\AStar尋路.pdf.me
?????目錄???????????0??2017-11-03?16:11??AStarXunLuSuanFa\Assets\Materials\
?????文件?????????191??2017-11-03?16:09??AStarXunLuSuanFa\Assets\Materials.me
?????文件????????5016??2017-11-03?16:09??AStarXunLuSuanFa\Assets\Materials\Black.mat
?????文件?????????207??2017-11-03?16:09??AStarXunLuSuanFa\Assets\Materials\Black.mat.me
?????文件????????5016??2017-11-03?16:09??AStarXunLuSuanFa\Assets\Materials\Plane.mat
?????文件?????????208??2017-11-03?16:09??AStarXunLuSuanFa\Assets\Materials\Plane.mat.me
?????目錄???????????0??2017-11-03?16:11??AStarXunLuSuanFa\Assets\MyTextProject\
?????文件?????????192??2017-11-03?16:09??AStarXunLuSuanFa\Assets\MyTextProject.me
?????目錄???????????0??2017-11-03?23:46??AStarXunLuSuanFa\Assets\MyTextProject\Scenes\
?????文件?????????192??2017-11-03?16:09??AStarXunLuSuanFa\Assets\MyTextProject\Scenes.me
?????文件???????15512??2017-11-03?23:46??AStarXunLuSuanFa\Assets\MyTextProject\Scenes\AStar.unity
?????文件?????????175??2017-11-03?16:09??AStarXunLuSuanFa\Assets\MyTextProject\Scenes\AStar.unity.me
?????文件???????18496??2017-11-03?16:09??AStarXunLuSuanFa\Assets\MyTextProject\Scenes\FMS.unity
?????文件?????????175??2017-11-03?16:09??AStarXunLuSuanFa\Assets\MyTextProject\Scenes\FMS.unity.me
?????目錄???????????0??2017-11-03?16:11??AStarXunLuSuanFa\Assets\MyTextProject\sc
?????文件?????????192??2017-11-03?16:09??AStarXunLuSuanFa\Assets\MyTextProject\sc
............此處省略576個(gè)文件信息
評(píng)論
共有 條評(píng)論