###前提・実現したいこと
キャラクターが当たる(又は乗る)と飛ぶバネのギミックを作成したのですが
キャラクターがバネに当たる直前にジャンプ動作(画面をクリック)すると
ジャンプ力が加算されてさらに高く飛んでしまいます。
ジャンプ力が加算されないようにするにはどうしたらいいのでしょうか?
回答よろしくお願いします。
当たる直前にジャンプ動作(クリック)した場合
###該当のソース
※キャラクター側のソース JumpPowerは450fです void FixedUpdate() { --------処理省略-------- //ジャンプ力分上に加速 if (isJumpFlg) { rd2D.AddForce(Vector2.up * JumpPower); isJumpFlg = false; } } void Update() { //地面判定 isGroud = rd2D.IsTouching(filter2d); //ボタンをクリック(タップ)した時 if (isGroud && Input.GetMouseButtonDown(0)) { //ヤラレタ場合,クリアした場合ジャンプ不可 if ((playerState == PLAYER_STATE.DOWN) || (!isAlive)) { return; } animator.SetBool("isDash", false); //ダッシュアニメフラグ animator.SetTrigger("Jump"); //ジャンプトリガー isJumpFlg = true; //ジャンプフラグ判定を戻す } } --------処理省略-------- //バネに当たった時 void OnTriggerEnter2D(Collider2D col) { if (col.gameObject.tag == "Spring") { rd2D.velocity = transform.up * 12f; //バネによるジャンプ動作 animator.SetBool("isDash", false); //ダッシュアニメフラグ animator.SetTrigger("Jump"); //ジャンプトリガー audiosource.PlayOneShot(JumpCV3); //ジャンプ;ボイス } } ``` ###バネ側の処理
※バネ側はアニメーションの再生処理(再生1回)のみになります。
private Animator animator;
void Start() { animator = GetComponent<Animator>(); } void OnTriggerEnter2D(Collider2D col) { animator.SetTrigger("AnimeTrigger"); }
###補足情報(言語/FW/ツール等のバージョンなど) Unity 2019.1.6f1 言語:C#
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/01 12:54 編集
2019/08/01 13:09
2019/08/01 14:18