• <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 閱讀(181) 評論(0)  編輯 收藏 引用
            久久精品国产精品亜洲毛片| 久久久久亚洲AV无码永不| 亚洲综合精品香蕉久久网97 | 久久99精品久久久久久久久久| 久久久久久久人妻无码中文字幕爆| 日韩人妻无码精品久久久不卡| 久久久九九有精品国产| 久久亚洲精品国产亚洲老地址 | www.久久热.com| 日韩中文久久| 久久精品免费观看| 午夜精品久久久久9999高清| 97久久精品无码一区二区天美| 欧美亚洲日本久久精品| 91久久精一区二区三区大全| 污污内射久久一区二区欧美日韩| 97久久精品无码一区二区| 婷婷久久五月天| 日日狠狠久久偷偷色综合免费| 99re久久精品国产首页2020| 亚洲va国产va天堂va久久| 欧美大战日韩91综合一区婷婷久久青草| 久久午夜羞羞影院免费观看| 97精品伊人久久大香线蕉| 久久99精品国产麻豆婷婷| 青青青伊人色综合久久| 久久亚洲美女精品国产精品| 一本色道久久综合亚洲精品| 波多野结衣久久| 久久天天躁狠狠躁夜夜不卡| 热久久国产欧美一区二区精品| 99久久精品国产一区二区蜜芽| 国产精品青草久久久久婷婷| 无码精品久久久久久人妻中字| 久久青青草视频| 精品久久久久久久国产潘金莲| 久久青青草视频| 亚洲国产精品成人久久| 精品久久无码中文字幕| 91精品国产91久久久久久| 99久久久久|