Menu
CoddyTech

Çarpışma Koşuyu Bitirir

Coddy'nin Unity Journey'sinin Gerçek Oyunlar Geliştirmek bölümünün bir parçası. Ders 31 / 60.

challenge icon

Görev

Orta

Bir çarpışma koşuyu durdurmalı.

  1. GameManager sınıfının üstünde public enum GameState { Playing, GameOver } tanımla; içine public GameState state = GameState.Playing; ekle.
  2. public void GameOver(), state değerini GameState.GameOver olarak, speed değerini 0 olarak ayarlar ve gameOverPanel öğesini gösterir.
  3. Runner, Obstacle etiketi taşıyan bir tetikleyiciyle karşılaştığında GameManager.Instance.GameOver() metodunu çağırır. GameManager, Runner ve Spawner, Playing durumunda değilse return ile çıkacak şekilde Update() metoduna başlar.

“Oyna” düğmesine bas ve çarpış: her şey durur. Ardından “Kontrol et” düğmesine bas.

Kendin dene

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

Gerçek Oyunlar Geliştirmek bölümündeki tüm dersler

Kendi başına pratik yap: Unity playground