Oyun Kütüphanesi

Çift Tıkla Koşma (Double Tap Dash)

Etkileşim & Input Unity C# 2
ÇiftTıklaKoşmaDoubleTapDash .cs
C#
using UnityEngine;
public class DoubleTapDash : MonoBehaviour
{
    public float dashForce = 15f;
    public float dashCooldown = 1f;
    public float tapWindow = 0.3f;

    private CharacterController cc;
    private float lastTapTime;
    private KeyCode lastKey;
    private float cooldownTimer;

    void Start() => cc = GetComponent<CharacterController>();

    void Update()
    {
        cooldownTimer -= Time.deltaTime;

        KeyCode[] keys = { KeyCode.W, KeyCode.A, KeyCode.S, KeyCode.D };
        foreach (var key in keys)
        {
            if (Input.GetKeyDown(key))
            {
                if (key == lastKey && Time.time - lastTapTime < tapWindow && cooldownTimer <= 0)
                {
                    DashInDirection(key);
                    cooldownTimer = dashCooldown;
                }
                lastKey = key;
                lastTapTime = Time.time;
            }
        }
    }

    void DashInDirection(KeyCode key)
    {
        Vector3 dir = key == KeyCode.W ? transform.forward :
                      key == KeyCode.S ? -transform.forward :
                      key == KeyCode.A ? -transform.right : transform.right;
        StartCoroutine(DashCoroutine(dir));
    }

    System.Collections.IEnumerator DashCoroutine(Vector3 dir)
    {
        float elapsed = 0;
        while (elapsed < 0.2f)
        {
            cc.Move(dir * dashForce * Time.deltaTime);
            elapsed += Time.deltaTime;
            yield return null;
        }
    }
}

Açıklama

Aynı yön tuşuna çift basıldığında oyuncuyu o yönde hızla fırlatan dash/hamle sistemi.

Etiketler

Dash Çift Tıkla Double Tap Input Hamle

Nasıl Kullanılır?

1. CharacterController'lı Player'a ekle.

2. WASD'ye çift bas — o yönde dash atar.

3. tapWindow = 0.3f → çift tıklama toleransı.

4. dashCooldown ile aşırı kullanımı engelle.

5. Dash sırasında efekt/ses için DashCoroutine içine ekle.

Unity 2022+ ve Unity 6 ile uyumludur.

MonoBehaviour tabanlı scriptleri Assets klasörüne .cs olarak kaydedin.