Menu
CoddyTech

Hai perso

Fa parte della sezione Fisica e gameplay del percorso Unity di Coddy. Lezione 34 di 71.

Questo passaggio completa Coin Rush: una palla spinta dalle forze, monete che fungono da trigger, un punteggio gestito da uno script e un timer che termina la partita.

challenge icon

Sfida

Medio

Comunica al giocatore quando il tempo scade per primo.

  1. In Ball.cs, dentro Update(), trova la riga che registra Time's up!.
  2. Subito dopo, registra You lose!.

Premi «Gioca» e lascia scadere il tempo: la Console mostra Time's up! Score: 0, poi You lose!. Poi premi «Verifica».

Provalo tu

using UnityEngine;

public class Ball : MonoBehaviour
{
    public float force = 10f;
    public int score;
    public float timeLimit = 60f;
    public float timeLeft;
    public int target = 10;
    private Rigidbody rb;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
        timeLeft = timeLimit;
    }

    void Update()
    {
        if (IsPlaying())
        {
            timeLeft -= Time.deltaTime;
            if (timeLeft <= 0f)
            {
                timeLeft = 0f;
                Debug.Log("Time's up! Score: " + score);
            }
        }
    }

    void FixedUpdate()
    {
        if (IsPlaying())
        {
            float x = Input.GetAxis("Horizontal");
            float z = Input.GetAxis("Vertical");
            rb.AddForce(new Vector3(x, 0f, z) * force);
        }
    }

    public void AddScore(int points)
    {
        if (!IsPlaying())
        {
            return;
        }
        score += points;
        Debug.Log("Score: " + score);
        if (score >= target)
        {
            Debug.Log("You win!");
        }
    }

    bool IsPlaying()
    {
        return timeLeft > 0f && score < target;
    }
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fisica e gameplay

Esercitati da solo: Playground Unity