• <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 - 311, comments - 0, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            (地基工)人物控制隊列想法

            Posted on 2010-11-22 16:20 點點滴滴 閱讀(341) 評論(0)  編輯 收藏 引用 所屬分類: 08 游戲SDK

            動作切換序列思路模擬:

            人物的動作分為上半身,下半身動作

            上半身動作:休閑、走路(向前、向后、向左、向右)、跑步(向前、向后、向左、向右)、準(zhǔn)備戰(zhàn)斗、跳(開始跳,跳循環(huán)、結(jié)束跳)
            下半身動作:休閑、走路(向前、向后、向左、向右)、跑步(向前、向后、向左、向右)、準(zhǔn)備戰(zhàn)斗、跳(開始跳,跳循環(huán)、結(jié)束跳)

            控制邏輯:


            *******************************************************悲傷的分割線****************************************************************
            隊列命令問題:
            1.走路的時候隊列創(chuàng)建太頻繁,進(jìn)行解決(使用隊列池)
            2.上面一個隊列執(zhí)行完畢后執(zhí)行下一個隊列。
            3.隊列要能夠同時處理兩個命令,因為在運(yùn)動的時候是一個命令,戰(zhàn)斗的時候是另外一個命令。
            4.初步?jīng)Q定使用兩個隊列,分別控制上半身和下班身動作。

            第一種解決方案思路整理(走路+攻擊):
            1.命令分類,外部根據(jù)命令往隊列里面插入命令
            2.命令開始執(zhí)行,成員變量記住命令的參數(shù),并在渲染的每一幀執(zhí)行命令。
            3.執(zhí)行的每一幀插值,處理命令

            舉例:
            1.往命令隊列中插入走路命令。                                                                       1 
            2.在每一幀中執(zhí)行走路命令,保存目標(biāo)位置和源位置,并進(jìn)行插值。
            3.往命令隊列中插入準(zhǔn)備攻擊命令                                                                   2 有一幀不走動了。解決思路:執(zhí)行攻擊的時候也執(zhí)行走路插值。??有可能沒有問題,因為速度過快
            4.開始執(zhí)行準(zhǔn)備攻擊命令                                                                                   
            5.在每一幀中執(zhí)行準(zhǔn)備攻擊命令                                                                       3 
            6.往命令隊列中插入走路命令。                                                 
            7.在每一幀中執(zhí)行走路命令,保存目標(biāo)位置和源位置,并進(jìn)行插值     4 

            想法:
            1.上半身和下半身無任何影響(戰(zhàn)斗:如果下半身進(jìn)行休閑動作才改變,否則只改變動作。移動:如果上半身休閑才改變,否則不改變)
            2.上半身動作影響下半身.(施法:直接修改上下半身動作為施法)
            3.動作播放結(jié)束后處理為

            隊列影響:
            第二種情況直接用隊列一個一個處理。
            第一種情況比較難處理(在處理戰(zhàn)斗時候,處理換動作命令,然后處理移動命令)
            //StartAction分為全身和上半身。。。。。

            動作分組:
            休閑動作,不打斷動作,進(jìn)度條動作, 動作播放完畢。

            不可行:因為只有一個隊列,所以執(zhí)行走路命令的時候不能處理戰(zhàn)斗的命令。 此方法拋棄。

            *******************************************************希望的分割線****************************************************************
            麻煩:
            解決方案:
            對外接口:外部參數(shù)不管上半身,下半身動作,根據(jù)命令類型分配到上半身和下半身隊列中去,控制上半身和下半身休閑,戰(zhàn)斗。//全身動作或者上半身動作。

            1.分為上半身,下半身動作兩個命令隊列分別處理上半身和下半身動作。

            舉例:
            走路+戰(zhàn)斗:
            1.命令隊列中插入走路命令
            2.向上半身,下半身隊列中分發(fā)各分發(fā)一個走路命令。
            3.會同時處理走路命令。
            4.命令隊列中增加戰(zhàn)斗命令。
            5.判斷下半身時候休閑,不是的話分發(fā)戰(zhàn)斗命令,向上半身隊列中分發(fā)戰(zhàn)斗命令。
            6.處理上半身,下半身動畫播放過程中的處理。

            注意:
            1.上半身的動作和下半身一樣的時候。根據(jù)下半身的動作幀數(shù)控制。
            2.分發(fā)器,根據(jù)不同的游戲有不同的分發(fā)原則。

            *******************************************************希望的分割線****************************************************************

            无码专区久久综合久中文字幕 | 无码人妻久久久一区二区三区| 久久久无码精品亚洲日韩软件| 香蕉久久AⅤ一区二区三区| 亚洲午夜无码AV毛片久久| 一本一本久久A久久综合精品 | 久久不见久久见免费视频7| 亚洲国产精品久久久久婷婷老年| 久久人搡人人玩人妻精品首页| 亚洲国产一成人久久精品| 午夜不卡888久久| 久久久国产精华液| 国产99久久久久久免费看| 久久亚洲精品国产精品婷婷| 国产精品一久久香蕉产线看| 国产精品乱码久久久久久软件| …久久精品99久久香蕉国产| 人妻无码精品久久亚瑟影视| 国产精品青草久久久久福利99 | 要久久爱在线免费观看| 精品久久777| 97久久国产综合精品女不卡| 久久综合精品国产一区二区三区 | 久久精品亚洲一区二区三区浴池 | 国产亚洲婷婷香蕉久久精品| 伊人久久久AV老熟妇色| 尹人香蕉久久99天天拍| 久久精品无码av| 久久精品国产亚洲欧美| 天天爽天天狠久久久综合麻豆| 久久综合鬼色88久久精品综合自在自线噜噜 | 亚洲国产精品无码久久一区二区| 武侠古典久久婷婷狼人伊人| 久久久精品国产Sm最大网站| 久久精品国产福利国产秒| 精品久久久久久国产| 国产成人精品久久一区二区三区| 精品人妻久久久久久888| 精品国产乱码久久久久久呢| 伊人久久精品无码二区麻豆| 亚洲国产精品无码成人片久久|