改進了一下,中間的河流,做成第五區域,橋兩端 分上下 兩個點。
具體做法如下圖
先設定10個空物件,按照固定位置排好,l代表左 r 代表右 m代表中,d下u上,都是英文首字母。 比如橋左上端,就是 lum 左上中,因為橋是中間 。橋右下 就是 rdm 右下中。
這段代表就是把 10個節點的座標 都儲存起來,用單例,這樣以後獲取就不要 找來找去。
groundvector = new transform[10除了 儲存 座標,單例裡面還有2個方法]; gameobject groundvectors = gameobject.findgameobjectwithtag("
groundvector");
list
list = new list();
for (int i = 0; i < 10; i++)
gmodel.getinstance.cv.onsetsencevector(list);
}
1 獲得區域
2 尋路
usingview codesystem.collections;
using
system.collections.generic;
using
unityengine;
public
class
calculationvector
//五大 區域
private
intonsetregion(vector2 vec)
else
if (ldm.y < vec.y && vec.y < lum.y) //
5區域
else
}else
//2,4 5區域
else
if (rdm.y < vec.y && vec.y < rum.y) //
5區域
else
}return
region;
}//區域對應 路線
public listonroute(vector2 v, int oneself)//
判斷自己還是對方 0,1 (1是自己)
else
}else
else
}break
;
case2:
if (oneself == 1
)
else
}else
else
}break
;
case3:
if (oneself == 1
)
else
}else
else
}break
;
case4:
if (oneself == 1
)
else
}else
else
}break
;
case5:
if (oneself == 1
)
else
}else
else
}break
;
default: break
; }
return
list;}}
這樣,使用者在邏輯幀 就能隨時 呼叫 尋路路徑。速度槓槓的。
另外,如果檢測 敵人,要跟蹤,那麼必須要 a*尋路。
為了效能,考慮2個問題。
1.格仔 少一點,我覺得11 * 7 就可。1-3毫秒就能尋到,不影響效能。
2. 規定 a* 一幀使用數量,也就是說,如果當前幀有100個要用 a*尋路,那麼程式假設規定最大一幀只能20個,尋路的貼上以尋,沒尋的,等下一幀尋路。
好處,當然是不會卡,雖然大家會擔心另外80個會不會 因為這幀不尋路 遲鈍,但 邏輯幀 只要保證1秒 5幀以上,那麼 這個遲鈍 使用者是 看不出來的,畢竟沒有可能一次100個都要用a*尋路
更多優化:可以把橋 左右 做成 5,6區域。如果同區域 跟蹤,可以走直線,不a*。這也是 乙個優化思路。
當然,這個思路僅僅是針對 皇室戰爭 地圖,如果同乙個區域 不是 規則形狀,需要繞,那麼 這個只能走a*
皇室戰爭部落的發展與回憶
首先致本部落的每一位新首領 大家終有一天會不玩皇室,但是皇室戰爭還是會存在的,還望部落的每一位首領都能夠對部落負責,感謝!1.考慮到部落發展你可以踢點不活躍的人 2.踢的時候建議先發一條公告,以下為每次部落踢出不活躍的人的公告內容 微改動 可供參考 考慮到部落的發展,部落將踢出一些不活躍的人,如果某...
HDU bee 蜜蜂行走路線
問題及 檔名稱 hdu.cpp 作 者 單昕昕 完成日期 2015年1月19日 版 本 號 v1.0 問題描述 有乙隻經過訓練的蜜蜂只能爬向右側相鄰的蜂房,不能反向爬行。請程式設計計算蜜蜂從蜂房a爬到蜂房b的可能路線數。其中,蜂房的結構如上所示。程式輸入 輸入資料的第一行是乙個整數n,表示測試例項的...
BCH的戰爭與進化(2) 路線之爭
在版本之爭的背後是對bch發展路線看似不可調和的分歧。abc的0.18版本及之前版本執行的是探索更新路線。這個路線的基本思想是 bch處於密碼貨幣激烈競爭的市場環境下,必須不斷探索更新,包括自身創新和學習其他密碼貨幣,以快速提高使用者體驗,提高市場份額。這個路線首先來自bch的誕生,bch本身就是為...