首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

WPF/Silverlight 遊戲開發教程(二十九之二):AI 通用化重構與索敵範圍機制

     編輯:關於C語言

重構完成後,具體實現啟動 AI。設定怪物索敵範圍 SeekRange,玩家進入此圓形區域(以怪物座標為圓心)即鎖定攻擊。複用上節 InCircle() 判斷:

單一參數產生雙距離效果

玩家引怪易、甩怪難。技巧:將索敵法放入輔助執行緒異步方法,每秒掃描一次。距離 < SeekRange 即引怪;距離 > SeekRange 且持續 1 秒才脫離,間接產生「索敵距離」與「擺脫距離」:

private void RefreshFace()
{
    if (spirit.VLife != 0
        && Super.InCircle(Leader.X, Leader.Y, spirit.X, spirit.Y, spirit.SeekRange)
        && IsOpposition(spirit, Leader))
    {
        spirit.LockObject = Leader.Name;
    }
    else
    {
        spirit.LockObject = null;
    }
}

亦可在精靈停止跑動或死亡時移除對應 Storyboard 釋放資源。下節將實作具體 AI 行為邏輯。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved