Menu
CoddyTech

Wyścig z czasem

Część sekcji Tworzenie prawdziwych gier ścieżki Unity w Coddy. Lekcja 55 z 56.

Próba na czas w ogrodzie. Biegacz zaczyna na jednym końcu, mając na zegarze dziesięć sekund, i musi dotrzeć do białego celu na drugim końcu, omijając żywopłot, zanim skończy się czas. Złote zegary po drodze dodają po kilka sekund. Gdy czas prawie się kończy, zegar zmienia kolor na czerwony; gdy się skończy, wyścig zaczyna się od nowa. Dotrzyj do celu na czas, a gra przejdzie do sceny Finish.

Napisz dwa skrypty: Runner dla biegacza, obiektu typu CharacterController, oraz Race dla obiektu Race.

challenge icon

Wyzwanie

Trudny

Kompozycja ma dwie sceny: Track i Finish. Na torze zegary mają tag Clock, a meta — Goal; oba są wyzwalaczami.

Inspector przypisuje do Runner wartości speed (6), gravity (-9.81) i race (skrypt Race).

  • Akcja Move projektu porusza biegaczem z prędkością speed jednostek na sekundę: w prawo i w lewo wzdłuż osi x, w górę i w dół wzdłuż osi z. Biegacz opada pod wpływem gravity i porusza się wyłącznie za pomocą controller.Move, więc żywopłot go zatrzymuje.
  • Wbiegnięcie w zegar zużywa go i dodaje bonus do czasu wyścigu. Wbiegnięcie na metę kończy wyścig.

Inspector przypisuje do Race wartości timeLimit (10), bonus (3) i timeText.

  • Pozostały czas zaczyna się od wartości timeLimit i zmniejsza się wraz z upływem rzeczywistego czasu. timeText wyświetla go z jednym miejscem po przecinku, jako Time: 7.4, na biało, a na czerwono (Color.red), gdy pozostają mniej niż 3 sekundy.
  • Każdy zegar dodaje bonus sekund.
  • Gdy czas osiągnie 0, zapisz w logu Time's up! i wczytaj ponownie tor od początku.
  • Gdy wyścig zostanie ukończony przed upływem czasu, zapisz w logu pozostały czas, jako Finished with 4.2 s left, i wczytaj scenę Finish.

Naciśnij Play i wyprzedź czas, a następnie Check.

Spróbuj swoich sił

using UnityEngine;
using UnityEngine.SceneManagement;
using TMPro;

public class Race : MonoBehaviour
{
    public float timeLimit = 10f;
    public float bonus = 3f;
    public TMP_Text timeText;
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Tworzenie prawdziwych gier