キャラクターの操作及び、進む方向に対して正面を向くようにする処理を下記のコードで行っています。
C#
1コード1 2 //wasd操作、左-1・何もしない0・右1 3 float x = Input.GetAxisRaw("Horizontal"); 4 5 //スプライトの向きを変える 6 7 //-方向へ入力される = 反転ON 8 if (x < 0) 9 { 10 spRenderer.flipX = true; 11 } 12 13 //+方向へ入力される = 反転OFF 14 else if (x > 0) 15 { 16 spRenderer.flipX = false; 17 } 18※右向き(x>0)を正面としています。
このとき、今向いている方向とは逆の方向に入力されたときにのみ「後ろへ振り向くアニメーション」を差し込むため、上記のコードに続けて以下のコード
C#
1コード2 2 //逆方向へ入力される = 振り返るアニメーション ON 3 if ((spRenderer.flipX == true) && (x > 0)) 4 { 5 anim.SetTrigger("ToTurnAround"); 6 } 7 8 if ((spRenderer.flipX == false) && (x < 0)) 9 { 10 anim.SetTrigger("ToTurnAround"); 11 }
を追加しました。すると、コード2を追加する前と同じように動作が行われました。ここで、コード2の条件内の不等号を逆にした
C#
1コード3 2 if ((spRenderer.flipX == true) && (x < 0)) 3 { 4 anim.SetTrigger("ToTurnAround"); 5 } 6 7 if ((spRenderer.flipX == false) && (x > 0)) 8 { 9 anim.SetTrigger("ToTurnAround"); 10 }
としたとき、アニメーションの差し込み、その後のキャラクターの向きは正しく処理されるようになったのですが、キャラクターの向きにかかわらず移動キーが入力されるたびにアニメーションが差し込まれてしまいます。
「キャラクターの向きが変わった場合にのみ」アニメーションが差し込まれるように制御するためにはどうすればよいですか?また、ほかによい処理の仕方などがあればぜひ教えていただきたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/13 04:48