1. 程式人生 > >unity之關於角色三連擊

unity之關於角色三連擊

      首先,我們要先研究下 他的動作關係這個角色的動作有idle attack1 attack2  attack3 jump  run   

      

       那麼我們要使用 新動畫系統的 Animator Controller 來進行 動畫的連線建立一個  Animator Controller 把咱用到的動畫 都拖進去  吧 idle 設為預設動畫

       然後  咱就開始連連看吧 三連擊擊肯定是  idle--->attack1--->attack2--->attack3

       這個套路然後  這3個攻擊到哪攻擊一定時間不操作了  肯定 就會反回

idle 狀態

      所以需要這麼連線

      

      連好後 我需要 拿指令碼 來控制他們的切換  需要 一個變數  我們來建立一個attack int 變數 給那些線 新增這個變數   

      Idle 到 attack1   Int 值為 1

      attack1到 attack2   Int 值為 2

      Attack2到 attack3   Int 值為 3

      attack1  attack2  attack3  返回 idle    int 都為 0

      好了 這樣 就可以拿這個變數控制啦

      下面開始 寫指令碼

      呼叫 動畫  什麼的就不說啦

      直接說重點  三連擊 核心就是 拿時間判斷 你在這段時間內讓沒讓我做出下一個動作

      那麼 怎麼獲取動畫 時間之類的呢   

      我們可以用 animSta=anim.GetCurrentAnimatorStateInfo (0);  來獲取動畫資訊,這樣 就可以 用 它裡面 的is name  判斷 現在 哪個動畫名下面, 用 normalizedTime

      來判斷 動畫 時間 剩下的 就是條件判斷咯  

      程式碼如下: