Dodanie podwójnego skoku w grze Unity

W tym samouczku omówimy, jak wdrożyć mechanikę podwójnego skoku w grze Unity. Podwójne skoki mogą sprawić, że Twoja platformówka lub gra akcji będzie bardziej dynamiczna i przyjemna w graniu. Udostępnimy przewodnik krok po kroku wraz z przykładami kodu, które pomogą Ci płynnie zintegrować tę funkcję.

Konfigurowanie środowiska

Zanim zaczniemy kodować, upewnij się, że w swoim projekcie Unity skonfigurowałeś następujące ustawienia:

  • Postać gracza z Rigidbody i Collider.
  • Obiekt naziemny z określonym znacznikiem (np. "Ground").

Tworzenie skryptu podwójnego skoku

Utwórz nowy skrypt C# o nazwie PlayerDoubleJump i dołącz go do swojej postaci gracza. Skrypt ten obsłuży wykrywanie i wykonanie podwójnego skoku.

using UnityEngine;

public class PlayerDoubleJump : MonoBehaviour
{
    public float jumpForce = 7.0f;
    private int jumpCount = 0;
    private bool isGrounded = false;
    private Rigidbody rb;

    void Start()
    {
        rb = GetComponent();
    }

    void Update()
    {
        if (isGrounded && Input.GetButtonDown("Jump"))
        {
            Jump();
        }
        else if (!isGrounded && jumpCount < 2 && Input.GetButtonDown("Jump"))
        {
            Jump();
        }
    }

    private void OnCollisionEnter(Collision collision)
    {
        if (collision.gameObject.CompareTag("Ground"))
        {
            isGrounded = true;
            jumpCount = 0;
        }
    }

    private void OnCollisionExit(Collision collision)
    {
        if (collision.gameObject.CompareTag("Ground"))
        {
            isGrounded = false;
        }
    }

    private void Jump()
    {
        rb.velocity = new Vector3(rb.velocity.x, jumpForce, rb.velocity.z);
        jumpCount++;
    }
}

Wyjaśnienie Kodeksu

Oto zestawienie działania każdej części skryptu:

  1. Zmienne: jumpForce kontroluje siłę skoku, jumpCount śledzi liczbę skoków, isGrounded sprawdza, czy gracz znajduje się na ziemi, oraz rb odnosi się do sztywnego ciała gracza.
  2. Metoda startowa: Inicjuje odniesienie Rigidbody.
  3. Metoda aktualizacji: Sprawdza wejście skoku. Jeśli gracz jest uziemiony, pozwala na skok. Jeśli zawodnik nie jest uziemiony i nie wykonał podwójnego skoku, pozwala na drugi skok.
  4. OnCollisionEnter Metoda: Wykrywa, kiedy gracz zderza się z ziemią i resetuje licznik skoków oraz status uziemienia.
  5. Metoda OnCollisionExit: Wykrywa, kiedy gracz odrywa się od ziemi i aktualizuje status uziemienia.
  6. Metoda skoku: Wykonuje skok poprzez przyłożenie siły pionowej i zwiększa liczbę skoków.

Testowanie mechaniki podwójnego skoku

Po zaimplementowaniu skryptu przetestuj mechanikę podwójnego skoku, naciskając przycisk skoku (zwykle spację), gdy gracz znajduje się na ziemi i w powietrzu. Gracz powinien być w stanie dwukrotnie skoczyć, zanim będzie musiał ponownie dotknąć ziemi.

Wniosek

Dodanie mechaniki podwójnego skoku do gry Unity może znacznie poprawić wrażenia z rozgrywki. Dzięki temu samouczkowi masz teraz podstawowy skrypt podwójnego skoku, który możesz dalej dostosowywać i rozszerzać. Eksperymentuj z różnymi siłami skoku, animacjami i dodatkowymi funkcjami, aby Twój system podwójnego skoku był solidniejszy i bardziej wciągający.