質問: false;//←2回目のジャンプでようやくfalseになる? } } ``` ### 補足情報(言語/FW/ツール等のバージョンなど) Unity 2018.3.11f1 言語:C# 2DキャラのPivotはbottom centerになります。 isGroudの値は1回目のクリックでは[true]のままで 着地前に2回目クリックすると[false]になります。 2回目で[false]になるので3回目以降のクリックではジャンプはしません。 参考: http://tsubakit1.hateblo.jp/entry/2018/04/07/234028
回答: sakura_hanaさんのおっしゃる通り、一度falseになってからtrueに戻ってしまっている気がします。 isGroundをメンバ変数にしないで、毎フレーム、最新の正しいものを使えば、 そういったズレはなくなります。なるべくメンバ変数を減らしましょう。 ``` //地面レイヤー判定(LineCastの処理を以下に変更) //毎回ここで正しい情報を持ってくる bool isGroud = GetComponent().IsTouching(filter2d); //ボタンをクリック(タップ)した時 if (isGroud && Input.GetMouseButtonDown(0)) { animator.SetBool("isDash", false); //ダッシュアニメフラグ animator.SetTrigger("Jump"); //ジャンプトリガー rd2D.AddForce(Vector2.up * JumpPower); //ジャンプ力分上に加速 } ```