Zderzenie kończy bieg
Część sekcji Tworzenie prawdziwych gier ścieżki Unity w Coddy. Lekcja 31 z 60.
Wyzwanie
ŚredniKolizja powinna zatrzymać bieg.
- Nad
GameManagerzadeklarujpublic enum GameState { Playing, GameOver }; wewnątrz dodajpublic GameState state = GameState.Playing;. public void GameOver()ustawiastatenaGameState.GameOver, aspeedna 0, i wyświetlagameOverPanel.RunnerwywołujeGameManager.Instance.GameOver()po uruchomieniu wyzwalacza oznaczonego tagiemObstacle.GameManager,RunneriSpawnerrozpoczynająUpdate()od instrukcjireturn, jeśli stan nie jest równyPlaying.
Naciśnij „Graj” i doprowadź do kolizji: wszystko się zatrzyma. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using TMPro;
public class GameManager : MonoBehaviour
{
public static GameManager Instance;
public float speed = 10f;
public float speedUp = 0.5f;
public float maxSpeed = 20f;
public TMP_Text distanceText;
public GameObject gameOverPanel;
public Button restartButton;
private float distance;
void Awake()
{
Instance = this;
}
void Update()
{
speed = Mathf.Min(speed + speedUp * Time.deltaTime, maxSpeed);
distance += speed * Time.deltaTime;
distanceText.text = "Distance: " + Mathf.FloorToInt(distance) + " m";
}
}
Wszystkie lekcje w sekcji Tworzenie prawdziwych gier
1Tekst na ekranie
Canvas i tekstWyświetlanie wynikuFormatowanie liczbOdliczanie czasuPowtórka: prędkościomierz2Przyciski i ekrany
Przyciski i onClickLambdyPodłączanie w InspectorzeWłączanie i wyłączanie paneliPaski zdrowiaPodsumowanie: sklep z ulepszeniami5Zapisywanie za pomocą PlayerPrefs
Zapisz liczbęWczytywanie z wartością domyślnąNajlepszy wynikZapisz ustawieniaPodsumowanie: monety w banku3Menedżer gry
Jeden skrypt obsługuje gręSingletonStany gryInstrukcja switch dla stanuPowtórka: menedżer rund6Projekt: Niekończący się bieg
Trzy toryPrzeszkody przed tobąPoćwicz samodzielnie: Edytor online Unity