【初心者】ドアの開閉を「E」キーで実装したが、「E」キーを連打するとパカパカ動いてしまう
【オブジェクト情報】
HikidoにAnimator(DoorAnim)とBoxCollider
PlayerにPlayerTag
DoorAnimは(Has Exit Timeチェックなし)
・Idle →True→ OpenHikido
・OpenHikido →False→ CloseHikido
・CloseHikido →True→ OpenHikido
発生している問題
現状「E」キーを押下するとドアが開閉するAnimは再生されるのですが、「E」キーを連打するとパカパカと高速で開いたり閉じたりを繰り返してしまいます。
どうすれば、連打した時ドアがパカパカしなくなりますか?
初心者で申し訳ないのですが、これを理解できたら応用ができると思うので教えてくださると、とても助かります
該当のソースコード
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EventHikido : MonoBehaviour
{
public bool isNear; private Animator animator; void Start() { isNear = false; animator = transform.GetComponent<Animator>(); } void Update() { if (Input.GetKeyDown(KeyCode.E) && isNear) { animator.SetBool("OpenBool", !animator.GetBool("OpenBool")); } } void OnTriggerEnter(Collider col) { if (col.tag == "Player") { isNear = true; } } void OnTriggerExit(Collider col) { if (col.tag == "Player") { isNear = false; } }
}
試したこと
- 「unity ドア開閉」「unity ドアぱかぱか」等で検索して出てきたスクリプトを色々と試して見ましたが解決にならなかったです。
- Has Exit Timeにチェックしてみての動作
┗チェックするとAnimの最後まで行ってから切り替わると検索したら出てたので試しました。
補足情報(FW/ツールのバージョンなど)
Unity 2020.3.24f1
回答3件
あなたの回答
tips
プレビュー