Oyun Kütüphanesi

Sprint Sistemi (Shift Tuşu)

Hareket Sistemleri Unity C# 3
SprintSistemiShiftTuşu .cs
C#
using UnityEngine;

public class PlayerSprint : MonoBehaviour
{
    [Header("Hız Ayarları")]
    public float walkSpeed = 5f;
    public float sprintSpeed = 10f;

    [Header("Stamina Ayarları")]
    public float maxStamina = 100f;
    public float staminaDrainRate = 20f;   // Saniyede azalma
    public float staminaRegenRate = 10f;   // Saniyede yenilenme

    private CharacterController controller;
    private float currentStamina;
    private bool isSprinting;

    void Start()
    {
        controller = GetComponent<CharacterController>();
        currentStamina = maxStamina;
    }

    void Update()
    {
        float x = Input.GetAxis("Horizontal");
        float z = Input.GetAxis("Vertical");

        // Sprint kontrolü
        bool wantsToSprint = Input.GetKey(KeyCode.LeftShift);
        isSprinting = wantsToSprint && currentStamina > 0 && z > 0;

        if (isSprinting)
            currentStamina -= staminaDrainRate * Time.deltaTime;
        else
            currentStamina += staminaRegenRate * Time.deltaTime;

        currentStamina = Mathf.Clamp(currentStamina, 0, maxStamina);

        float speed = isSprinting ? sprintSpeed : walkSpeed;
        Vector3 move = transform.right * x + transform.forward * z;
        controller.Move(move * speed * Time.deltaTime);
    }

    // UI slider için stamina yüzdesi
    public float GetStaminaPercent() => currentStamina / maxStamina;
}

Açıklama

Sol Shift tuşuna basılı tutulduğunda hızlanan, stamina (dayanıklılık) çubuğuyla sınırlı sprint mekanizması.

Etiketler

Sprint Shift Koşu Stamina Hız

Nasıl Kullanılır?

1. CharacterController ile birlikte kullan.

2. Shift basılı tutunca Sprint aktif olur.

3. Stamina bitince otomatik yavaşlar, yeniden dolar.

4. GetStaminaPercent() metodunu UI Slider'a bağlayabilirsin.

Unity 2022+ ve Unity 6 ile uyumludur.

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