前提・実現したいこと
横スクロールアクションゲームを開発しているのですが、二段ジャンプが上手くできません。
やりたいことは以下のこととなります。
・ジャンプボタンを1回押して、ジャンプ中に更にもう1回押したときに2回目のジャンプをする。
・最大は2回とし、3回目はジャンプさせない。
発生している問題・エラーメッセージ
1回目のジャンプをした際にjumpCountをインクリメントさせて、
2回目を押した際にjumpCountが"1"になっているので2回目のアクションを行う想定ですが、
すぐにjumpCountが反映されていないのか、実際には
「1回目の処理 → 1回目の処理 → 2回目の処理」
となってしまい、結果的に三段ジャンプになってしまいます。
該当のソースコード
void Update() { if (Input.GetButtonDown("Jump") && jumpCount == 0) { jumpCount++; animator.CrossFadeInFixedTime("Jump", 0.38f); rigidBody2D.velocity = Vector3.up * jumpPower; } else if (Input.GetButtonDown("Jump") && jumpCount == 1) { jumpCount++; animator.CrossFadeInFixedTime("doublejump", 0.35f); rigidBody2D.velocity = Vector3.up * 3; } }
試したこと
jumpCount++の位置をアニメーションの前後にする、
Bool型のフラグで管理したりも試しましたが、同様の動きになってしまいます。
補足情報(FW/ツールのバージョンなど)
Unity 2021.1.9f1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/18 13:39