• <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 點點滴滴 閱讀(360) 評論(0)  編輯 收藏 引用 所屬分類: 08 游戲SDK

            動作切換序列思路模擬:

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

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

            控制邏輯:


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

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

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

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

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

            動作分組:
            休閑動作,不打斷動作,進度條動作, 動作播放完畢。

            不可行:因為只有一個隊列,所以執(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ā)原則。

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

            狠狠色丁香久久婷婷综| 国产精品18久久久久久vr | 久久久久久亚洲AV无码专区| 欧美性大战久久久久久| 久久久久99精品成人片| 香蕉久久永久视频| 麻豆精品久久久久久久99蜜桃| 亚洲国产精品无码久久久久久曰 | 精品水蜜桃久久久久久久| 国产精品免费久久| 97精品伊人久久大香线蕉| 狠狠色丁香久久婷婷综合| 国产精品九九九久久九九| 91久久九九无码成人网站| 狠狠色婷婷久久一区二区| 精品国产VA久久久久久久冰| 色天使久久综合网天天| 久久综合国产乱子伦精品免费| 理论片午午伦夜理片久久 | 国产精品青草久久久久福利99| 久久综合久久性久99毛片| 日韩久久久久久中文人妻| 久久九九亚洲精品| 中文字幕无码免费久久| 国产一级持黄大片99久久| 亚洲国产婷婷香蕉久久久久久| 欧美亚洲色综久久精品国产| 9999国产精品欧美久久久久久| 久久久亚洲AV波多野结衣| 午夜精品久久久久9999高清| 精品久久久久香蕉网| 色偷偷88欧美精品久久久| 色综合久久久久网| 丁香色欲久久久久久综合网| 久久人人爽人人精品视频| 精品久久久久久国产潘金莲| 精品一二三区久久aaa片| 久久青青草原精品国产软件| 狠色狠色狠狠色综合久久| 色综合久久久久综合体桃花网| 亚洲av伊人久久综合密臀性色|