塔防炮塔AI除錯記錄

2021-08-17 12:13:43 字數 783 閱讀 3478

做乙個炮塔的ai,希望攻擊最先接近的怪物,list用來存放怪物接近的順序

//進入攻擊範圍 新增到攻擊列表

private

void

ontriggerenter(collider other)

}//離開攻擊範圍

private

void

ontriggerexit(collider other)

}

但是如果在攻擊範圍內死亡,怪物自身做destory(),則炮塔當前的攻擊目標list就變成了null,這就需要乙個方法來讓移除list列表的空元素並重新組合,讓炮塔重新獲得當時第二順位(此時第一)的目標

public

void

updateenemylist()}/*

**移除list專案會導致索引的移動 所以+i

*/for (int i = 0; i < emptylist.count; i++)

debug.log("null target clear done");

}catch(system.exception e)

}

以上處理還有乙個問題當多個炮塔存在時,如果怪物死亡速度比**處理速度還要快的時候,某些炮台會持續丟失主目標幾幀時間,當執行完清空後會繼續攻擊,雖然沒有影響遊戲的程序,但是引擎會報錯,還會有點違和感,目前還不知道怎麼處理,於是直接捕獲異常。

就當無事發生.jpg

遊戲開發 十三 之 塔防 炮塔技能設計思路

壓縮gif的時候有問題.但是可以將就看.這裡我一共實現了5種炮塔的攻擊 單體暴擊 範圍群攻 毒液減速 整排攻擊 先說下我之前見過的這類遊戲的原始碼,然後再說下我的做法.看過的幾個原始碼,基本上實現的思路就是 炮塔選中目標 炮塔發射子彈 炮塔控制子彈 子彈打中目標 炮塔根據自身攻擊計算損失血量,或者怪...

塔防危險度計算

格點平面上有一些塔,對於平面的每乙個點,其危險度定義為曼哈頓距離為d的範圍內的塔的數量,求危險度最低的點。曼哈頓距離 d x1 x2 y1 y2 x1,y1 x2,y2 的距離 則對於某點 i,j 距離其曼哈頓距離為d的點形成乙個菱形。1.我們可以對平面上的某個點 i,j 進行對換,可得到 2.定義...

ai畫面怎麼調大小 AI頁面面板中如何調尺寸

1.察看文字是否轉曲,可全選,然後看文字選單,若還有文字未轉曲,建立輪廓 選單則 可用,否則該選單是灰色的。亦可執行選單 選擇 選擇 文字物件 若 會被選中,當然這些文字物件沒有 ctrl alt 3,解除所有鎖定 ctrl alt 2 2.ai 怎麼輸出透明檔案?答 最好另存為 pdf 或 eps...