• <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 閱讀(176) 評論(0)  編輯 收藏 引用
            伊人久久精品无码二区麻豆| 精品久久久久久久无码| 性做久久久久久久| 久久发布国产伦子伦精品| 亚洲一本综合久久| 欧美激情精品久久久久久久九九九| 欧美激情精品久久久久久| 欧美大香线蕉线伊人久久| 精品人妻伦九区久久AAA片69| 精品无码久久久久国产动漫3d| 国产精品99久久99久久久| 性做久久久久久久久久久| 精品久久久久久无码中文字幕一区| 久久精品国产一区二区| 99久久er这里只有精品18| 久久国产精品一区| 色综合久久综合中文综合网| 久久精品国产99久久丝袜| 久久天天躁狠狠躁夜夜96流白浆| 久久精品成人一区二区三区| 久久99久久99精品免视看动漫| 人人狠狠综合久久亚洲高清| 久久亚洲国产中v天仙www| 久久久久久曰本AV免费免费| 久久国产成人| 国产亚州精品女人久久久久久| 久久精品无码专区免费东京热| 国产精品久久新婚兰兰| 9999国产精品欧美久久久久久| 91精品国产色综合久久| 亚洲精品乱码久久久久久按摩| 亚洲伊人久久成综合人影院| 狠狠精品干练久久久无码中文字幕| 国产成人久久AV免费| 无码人妻少妇久久中文字幕蜜桃| 久久亚洲中文字幕精品一区| 日韩va亚洲va欧美va久久| 久久无码一区二区三区少妇| 色欲综合久久躁天天躁| 日韩久久久久中文字幕人妻 | 无码日韩人妻精品久久蜜桃|