![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmieTGEtGvUjATpfBRcOihVfK82il5-nRnP6QVjW33B5Pt5r3bTZzDgNEL-jJC18Bsh5FQqYDAFN3woHvELsLG5_TgF0FScOlM_ldUF3XrsA3XFsV5t0mHkOuXozIgwwkO2nwbIxKzLcMR/s640/OCU_1.jpg)
開關雨傘的判定,是寫在主角的操控腳本中的
當玩家按下左邊的Ctrl鍵時,判斷當下狀態為何,再進行相應動作
eg. 狀態:開傘中 進行動作:收傘
亦即兩者呈相反就對了
然後,當在地上進行動作時,強制停止移動
因為當初繪製動畫時,開收傘的動作是停在原地的
不停止移動的話,會看到主角腳沒在動卻會左右移動(怕
再來就是,現時遊戲設定:開收雨傘的動畫播放時,不會被攻擊到
會這樣設定,是以防動畫出現錯誤
因為在開收雨傘兩種狀態下,跑步、跳躍等動畫都是不一樣的
要實現這種判定,至少有兩種方法
先說我現在在用的:更換動畫器
當開收傘的狀態切換時,動畫器亦跟著轉換
收傘時的動畫器
開傘時的動畫器
這樣的做法,是減少一個動畫器的複雜程度。要修改個別動畫時,能更方便地找到問題點
但限制是兩個動畫器的參數要一樣(不論參數類型還是命名)
因為是依同一行程式進行控制,稍有差錯便會出現錯誤訊息
而另一個方法是,把動畫都放在同一個動畫器中,然後多加一個布林參數「OpenUmbrella」(舉例)
然後在開傘與收傘兩組別的動畫中,都加上對應的「OpenUmbrella」,這樣也能獲得相同效果……應該說,我一開始的做法就是這樣ww
但之後因為出現各種錯誤,以及管理不方便,於是變成現在的「更換動畫器」
話題拉回來,因為要更換動畫器,如果這時被敵人攻擊到,就有更大機會出Bug
雖然有嘗試過各種方法去解決這問題,但個人功力不足,始終都有Bug
於是索性取消碰撞判定(硬來
最後再說一下更換動畫器的時機
那就是AnimationEvent出場的時候啦~
在開收傘的結尾加入腳本,就能讓兩個動畫器無縫接軌
讓我們讚嘆AnimationEvent ヽ(✿゚▽゚)ノ
話說,最近的篇幅較長,以及多加一些圖片來講述
是因為個人覺得這幾篇有點複雜,單是口頭上說說的話,除了我以外大概沒人懂吧ww
沒有留言:
張貼留言