• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 72,  comments - 4,  trackbacks - 0

            mythos中的ai是并發的棧式狀態機:

            拿wolf作為例子:
            一。配置文件:
            在ai目錄中的wolf.xml配置它所有的行為(包括每個行為發生機率,參數,以及執行函數):
            其中執行函數以及對應skillid如下:
            1.
              <nBehaviorId>move - approach target</nBehaviorId>
              <nSkillId>monster melee</nSkillId>
            2.
              <nBehaviorId>skill - do skill</nBehaviorId>
              <nSkillId>monster melee</nSkillId>
            3.
              <nBehaviorId>skill - do skill</nBehaviorId>
              <nSkillId>Fidget</nSkillId>
            4.
              <nBehaviorId>move - wander</nBehaviorId>
              <nSkillId/>

            二。ai更新:
               SrvGameTick--》GameEventsProcess--》AI_Update()
              在AI_Update中遍歷執行該unit的所有行為(behavior) :
              1. sBehaviorApproachTarget()
                 查找對應的目標,發出朝它移動指令
                
              1. sBehaviorDoSkill()
                 如果有目標則執行sSkillExecute進行技能施放
                
              2. ...類似功能處理
             
              。。。
             
              【說明】:
                mythos的行為是并發的棧式,最大可以有5個棧, 用
                int nIndex = tContext.pnStack[ tContext.nStackCurr ]這樣的結構進行處理,
                通過pTable->pBehaviors[ nIndex ]得到對應的行為處理函數進行執行處理。
                   
                a. 并發:
                每執行完一個行為函數后 tContext.pnStack[ tContext.nStackCurr ]++; 這樣就換到unit的下一個行為函數再執行。
               
                b. 進入棧(子函數):
                tContext.nStackCurr為棧下標,初始tContext.nStackCurr=0,即為第0個棧,
                可以設置tContext.nStackCurr++;并且tContext.pnStack[ tContext.nStackCurr ]=nBranchTo(要走的分支號)。這樣來
                執行分支函數。 當分支函數完成時tContext.nStackCurr--再回來上一級。
               
                另外有些行為函數是執行一次的,執行完了就會把它從列表中刪除。下次不會再遍歷到.


            posted on 2012-08-13 09:51 flipcode 閱讀(186) 評論(0)  編輯 收藏 引用
            久久久久夜夜夜精品国产| 少妇高潮惨叫久久久久久| 久久久久成人精品无码 | 伊人久久大香线蕉av不卡| 亚洲国产另类久久久精品黑人| 久久久久中文字幕| 亚洲AV日韩AV天堂久久| 久久国产精品国语对白| 中文字幕久久精品无码| 久久人人爽人人爽人人片AV东京热| 狠狠色婷婷久久综合频道日韩| 国产精品欧美亚洲韩国日本久久| 亚洲AV无码1区2区久久| 日本精品一区二区久久久| 国产精品视频久久久| 狠狠综合久久AV一区二区三区| 国产毛片久久久久久国产毛片| 九九久久自然熟的香蕉图片| 一本一本久久A久久综合精品| 精品一久久香蕉国产线看播放| 97久久超碰成人精品网站| 久久99热这里只有精品66| 精品无码久久久久久久久久 | 久久久精品国产Sm最大网站| 欧美一区二区三区久久综| 久久亚洲国产最新网站| 欧美日韩精品久久久免费观看| 日本精品久久久久中文字幕| 久久精品视频网| 久久不见久久见免费视频7| 区久久AAA片69亚洲| 久久久久久免费视频| 久久这里只有精品首页| 久久久噜噜噜久久中文字幕色伊伊 | 99蜜桃臀久久久欧美精品网站 | 亚洲色欲久久久综合网| 久久亚洲国产精品成人AV秋霞| 久久久精品久久久久影院| 亚洲精品国产综合久久一线| 久久天天躁狠狠躁夜夜躁2014| 国产精品久久久久蜜芽|