今日は防御姿勢の実装。
プレイヤーとして導入したアセットに、盾を構えている状態のアニメーションがあるので、それを実装しよう。
次に防御に成功する条件を考える。条件は簡単に以下の3点にした。
① 盾を構えた状態になっている。
② 盾を構えている方向から攻撃を受ける。
③ 敵の攻撃力が盾で防げる防御力以下。
厳密にいえば、盾の範囲に攻撃が当たった時とすべきなんだろうけど、これは今後の課題にした。
実際の導入について、①の条件「盾を構えた状態になっている。」は、防御姿勢のアニメーションへの遷移条件になっている、アニメーションパラメーターを取得してくれば良い。
これは、GetBoolで簡単に取得できる。
②の条件「盾を構えている方向から攻撃を受ける。」を判定するために、まず、敵から攻撃を受ける時に、敵のpositionをプレイヤーのメソッドに引数で渡してやる。
次に、プレイヤーのメソッドで、プレイヤーの向いている向き・プレイヤーのposition・敵のpositionを判定させる事にした。
もっと上手い計算式があるのかもしれないけど、今の僕にはこんなものしか思いつかなかった。😅
③ 「敵の攻撃力が盾で防げる防御力以下。」については、今日のところは残課題とした。
ダメージを数字で表示する機能を実装したいと思っているので、それと同時に実装できればいいなぁ・・・・😁
今日のところはこんな感じ。
防御姿勢が取れるようになっただけでも、それなりに戦闘にバリエーションがついてくれるので、作っていて面白い😄