Menu
CoddyTech

Battere il tempo

Fa parte della sezione Fisica e gameplay del percorso Unity di Coddy. Lezione 31 di 63.

challenge icon

Sfida

Medio

Aggiungi il timer. Mantieni tutto ciò che hai fatto nei passaggi precedenti e aggiungi a Ball:

  • public float timeLimit = 60f; (nell’Inspector imposta 30) e public float timeLeft;. Essendo pubblica, timeLeft è visibile nell’Inspector, dove puoi guardarla diminuire.
  • Quando inizia il gioco, timeLeft è uguale a timeLimit. A ogni frame, finché è maggiore di 0, diminuisce del tempo trascorso nel frame.
  • Quando raggiunge 0, rimane esattamente a 0 e la palla registra una sola volta Time's up! Score: 5, insieme al suo punteggio.
  • Quando il tempo è scaduto, le frecce non spingono più la palla.

Premi Play e guarda quanti punti fai in 30 secondi, poi premi Check.

Provalo tu

using UnityEngine;

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

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

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

    public void AddScore(int points)
    {
        score += points;
        Debug.Log("Score: " + score);
    }
}

Tutte le lezioni di Fisica e gameplay