Çarp ve Yeniden Başla
Coddy'nin Unity Journey'sinin Gerçek Oyunlar Geliştirmek bölümünün bir parçası. Ders 31 / 56.
Görev
OrtaÇarpışma koşuyu bitirir ve bir düğme sonraki koşuyu başlatır. Önceki derslerdeki her şeyi koru. Canvas'ta gizli bir GameOverPanel bulunur; bu panelde Run again etiketli bir RestartButton vardır ve sahne, GameManager bileşeninin gameOverPanel ve restartButton adlı iki yeni alanını doldurur. Runner'da kinematik bir Rigidbody bulunduğundan engellerden tetikleyici mesajları alır.
GameManager içinde:
- Sınıfın üstünde
public enum GameState { Playing, GameOver }bildirimini yap ve sınıfa başlangıç değeriPlayingolanpublic GameState statealanını ekle. using UnityEngine.UI;,using UnityEngine.SceneManagement;,public GameObject gameOverPanel;vepublic Button restartButton;ekle.GameOver()adlı bir public metot,statedeğeriniGameOverolarak ayarlar, tüm engelleri durduranspeeddeğerini 0 yapar ve paneli gösterir.Update(), durumPlayingolmadığı sürece hiçbir şey yapmaz; böylece hız ve mesafe artmayı durdurur.Start()içinde,restartButtonile oynanmakta olan sahneyi yeniden yükle.
Runner içinde: Obstacle etiketi taşıyan bir tetikleyiciye girdiğinde GameManager.Instance.GameOver() metodunu çağır. Durum Playing değilken ok tuşları hiçbir şey yapmaz.
Spawner içinde: durum Playing değilken hiçbir şey oluşturma.
Play'e bas, çarpış ve yeniden koş, ardından Check'e bas.
Kendin dene
using UnityEngine;
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;
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
1Ekrandaki Metinler
Canvas ve MetinSkoru GösterSayıları BiçimlendirGeri Sayım ZamanlayıcısıTekrar: Hız Göstergesi4Sahneler ve Bölümler
Bir Sahne YüklemeBölümü Yeniden BaşlatmaSonraki BölümSahneler Arasında SaklamaTekrar: Bölüm Seçimi10Proje: 3D Platform Oyunu
ParkurHareketli Platformlar2Düğmeler ve Ekranlar
Düğmeler ve onClickLambda İfadeleriInspector'da Bağlantı KurmaPanelleri Açma ve KapamaCan ÇubuklarıTekrar: Yükseltme Mağazası5PlayerPrefs ile Kaydetme
Bir Sayı KaydetmeVarsayılan Değerle YüklemeEn Yüksek SkorAyarları KaydetmeTekrar: Bankadaki Paralar