Menu
CoddyTech

Wyścig z czasem

Część sekcji Fizyka i rozgrywka ścieżki Unity w Coddy. Lekcja 31 z 63.

challenge icon

Wyzwanie

Średni

Dodaj zegar. Zachowaj wszystko z wcześniejszych kroków i dodaj do Ball:

  • public float timeLimit = 60f; (w Inspectorze ustaw 30) oraz public float timeLeft;. Ponieważ timeLeft jest publiczne, wyświetla się w Inspectorze, gdzie możesz obserwować, jak jego wartość odlicza się do zera.
  • Gdy gra się rozpoczyna, timeLeft ma wartość timeLimit. W każdej klatce, gdy jest większe od 0, jego wartość zmniejsza się o czas trwania klatki.
  • Gdy osiągnie 0, pozostaje dokładnie równe 0, a piłka raz wyświetla w logu Time's up! Score: 5 wraz z wynikiem.
  • Gdy czas się skończy, strzałki przestają popychać piłkę.

Naciśnij Play i sprawdź, ile punktów zdobędziesz w 30 sekund, a potem naciśnij Check.

Spróbuj swoich sił

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);
    }
}

Wszystkie lekcje w sekcji Fizyka i rozgrywka