unity之關於角色三連擊
首先,我們要先研究下 他的動作關係這個角色的動作有idle attack1 attack2 attack3 jump run
那麼我們要使用 新動畫系統的 Animator Controller 來進行 動畫的連線建立一個 Animator Controller 把咱用到的動畫 都拖進去 吧 idle 設為預設動畫
然後 咱就開始連連看吧 三連擊擊肯定是 idle--->attack1--->attack2--->attack3
這個套路然後 這3個攻擊到哪攻擊一定時間不操作了 肯定 就會反回
所以需要這麼連線
連好後 我需要 拿指令碼 來控制他們的切換 需要 一個變數 我們來建立一個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
來判斷 動畫 時間 剩下的 就是條件判斷咯
程式碼如下: