特定のボタンをダブルタップしたときの動作を実装するためには、ボタンが押された時間を計測し、一定の時間内に再度ボタンが押されたかどうかを確認する必要があります。以下に、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!");
}
}
Input.GetKeyDown(KeyCode.W)
でWキーが押された瞬間を確認します。Time.time
を使用して、現在の時間を取得し、最後のタップからの時間を計算します。PerformDoubleTapAction()
メソッド内にダブルタップ時の具体的な処理を記述します。ここでは、デバッグメッセージを表示していますが、実際のゲームではキャラクターのジャンプや特定のスキル発動などの処理を追加できます。doubleTapTime
の値は、ダブルタップの検出に使用する時間のしきい値です。これを調整することで、ユーザーがダブルタップとみなすタップの速さを設定できます。KeyCode.W
を他のキーに変更するだけです。