Unity_Lesson

InputManagerを使用した時のダブルタップの例

特定のボタンをダブルタップしたときの動作を実装するためには、ボタンが押された時間を計測し、一定の時間内に再度ボタンが押されたかどうかを確認する必要があります。以下に、Wキーをダブルタップしたときの動作を実装する例を示します。


ダブルタップを検出するプログラム

using UnityEngine;

public class DoubleTapExample : MonoBehaviour
{
    public float doubleTapTime = 0.3f; // ダブルタップと見なされる時間
    private float lastTapTime = 0f; // 最後のタップの時間
    private int tapCount = 0; // タップの回数

    void Update()
    {
        // Wキーが押されたかどうかを確認
        if (Input.GetKeyDown(KeyCode.W))
        {
            // 現在の時間を取得
            float currentTime = Time.time;

            // 最後のタップからの時間が設定した時間内かどうかを確認
            if (currentTime - lastTapTime <= doubleTapTime)
            {
                tapCount++; // タップ回数を増やす
            }
            else
            {
                tapCount = 1; // 新しいタップのカウントを開始
            }

            lastTapTime = currentTime; // 最後のタップの時間を更新

            // タップ回数が2回になったらダブルタップを検出
            if (tapCount == 2)
            {
                Debug.Log("Double Tap Detected!");
                // ダブルタップ時の処理をここに記述
                PerformDoubleTapAction();
            }
        }
    }

    // ダブルタップ時のアクション
    private void PerformDoubleTapAction()
    {
        // ダブルタップ時の具体的な処理
        // 例: キャラクターのジャンプや特殊攻撃
        Debug.Log("Performing Double Tap Action!");
    }
}

解説

注意点