我正在做一個遊戲,我遇到了難以實現的代碼。我的遊戲是一個有很多追逐你的敵人的瓷磚平臺遊戲。基本上,在理論上,我希望我的敵人能夠以每幀/秒/ 2秒的速度找到我的玩家的現實路徑和最短路徑。我原本以A星爲解決方案,但它將敵人引向違背重力的路徑,這並不好。另外,多個敵人會每秒使用它來獲取最新路徑,然後走過它的前幾個區塊。所以他們會每秒拋棄其餘的路徑,並且只是跟着它的前幾個區塊。我知道這似乎很多,如果他們不止一個敵人,但是我不知道任何其他方式來實現我想要的,每秒鐘都會計算出一條新路徑。 這是我想要的圖片: 說明:綠色圖是玩家,紅色是敵人。灰色的瓷磚是規則的,開放的,沒有瓷磚,棕色瓷磚是你可以站立的瓷磚。最後,突出顯示的黃色方塊表示我希望我的敵人能夠找到的路徑,以便切實地找到玩家。所以問題是:我可以使用什麼樣的現實路徑尋找算法來獲取?保持速度快嗎?開發前遊戲 - 一個現實的尋路算法
編輯* 我更新了圖片,以表示它們可能是最複雜的地圖。這張地圖代表了我的遊戲玩家實際看到的內容,他們只是使用WASD並可以四處移動,並且他們看到自己在這個2D平臺前視圖中移動。他們將是不同類型的敵人,所有敵人都有不同的速度和跳躍高度。但是所有人都將有足夠的跳躍高度和速度來在這張地圖上跳躍,並通過它進行機動。這些地圖是通過簡單地讀取其中包含關卡數據的XML文件生成的。然後解析數據,並根據XML所說的內容,將不同類型的圖塊放置在圖塊控股精靈中。 EX(XML節點:(type =「reg」graphic =「grass2」x =「5」y =「7」),所以x和y乘以常數gridSize(像30或其他),並放置它們敵人從他們附屬的AI類中獲得逐幀指令,這個類負責產生這條路,並將第一個方向返回給敵人,這應該每隔一秒左右發生一次,以便敵人如果你瞭解我的概念,請告訴我,你有一些想法/想法,或者甚至是我正在尋找的答案。 另外:這個遊戲中的物理是獨立於尋路,他們工作得很好,使用AABB vs AABB概念(玩家和敵人也是AABB)。
請將圖像替換爲由StackOverflow託管的圖像,或者將問題關閉不清。 –