発生している問題・エラーメッセージ
Unityでランゲームのプレイヤーのアニメーション部分を作っています。 isGroundで空中ジャンプを制限してアニメーションも連動するようにしましたが、 ジャンプ中にもう一度ジャンプボタンを押すとアニメーションがキャンセルされて 初めからジャンプのアニメーションが再生されてしまいます。 接地していてもアニメーションが終了するまでアイドル状態には戻りません。
該当のソースコード
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class NinjaRunAnimation : MonoBehaviour 6{ 7 public string pushkey = "space"; 8 public string parameterName = "jumptrigger"; 9 public bool parameterValue = true; 10 11 bool pushFlag = false; 12 13// Update is called once per frame 14 void Update () { 15 16 if (Input.GetKeyDown (pushkey)) { 17 if (pushFlag == false) { 18 pushFlag = true; 19 20 Animator m_Animator = gameObject.GetComponent<Animator> (); 21 m_Animator.SetBool (parameterName, parameterValue); 22 } 23 } else { 24 pushFlag = false; 25 } 26 } 27}
試したこと
プレイヤーのジャンプの設定にも使われている
private CharacterController controller;
と
void Start () {
controller = GetComponent<CharacterController> ();
}
を付け加えて、
if (controller.isGrounded) {
}を
if (Input.GetKeyDown (pushkey))の前後に入れてみましたが、
そうすると逆にジャンプのアニメーションが再生されなくなってしまいました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/04/11 09:05
退会済みユーザー
2020/04/11 09:27