我有一個 AI 生物,我想撲向它范圍內的敵人。半徑會在每次更新時檢測到它們,這很好,但我應該如何處理跳轉?
跳轉當前也位于更新中,但是應該如何處理狀態,AI 需要跳轉并在跳轉發生時繼續其他處理,而不是在已經跳轉時嘗試跳轉。
處理這個問題的最佳方法是什么?活動和代表?統一事件?多執行緒?鎖定?異步?更新甚至允許其中的一些,它被稱為每一幀但它是異步的嗎?
uj5u.com熱心網友回復:
雖然很多人討厭協程 atm。暫時忽略它。
有一個協程來執行檢測和跳轉,在跳轉完成后等待。這樣你的 fps 保持良好并且計算不會影響它。
手機上即時訊息的偽代碼
IEnumerator findme()
{
while(true)
{
// find victim
//if victimfound
// trigger jump
// what till animation is not playing any more
}
}
我還建議在 while 回圈結束時進行潛在的等待,因為您幾乎可以肯定不需要每秒 200 倍的速度,所以如果沒有跳躍,可能需要像 0.25 秒這樣的短暫等待
uj5u.com熱心網友回復:
一種快速而骯臟的方法是降低半徑檢查的輪詢率,以便在下一次半徑檢查發生之前輕松完成跳轉。
對于最好的方法,我不確定。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/475317.html