Unity ile level oluşturma

Finwe

Hectopat
Katılım
18 Nisan 2020
Mesajlar
21
Merhaba. Unity ile 2D bir oyun yapıyorum. Programı ilk defa kullandığım için bayağı zorlandım. Birçok şeyi yaptım ancak bölüm oluşturmada takılı kaldım. Bir bölümü bitirip diğerine nasıl geçebilirim?
 
Son düzenleyen: Moderatör:
Yapmak istediğin şeyi biraz daha açar mısın?

Tabii ki oyuna bölüm sistemi getirmek istiyorum belirli bir düşman sayısını öldürdükten sonra diğer bölüme geçmek istiyorum.
Kod:
using UnityEngine;
using UnityEngine.SceneManagement;

public class ExampleClass : MonoBehaviour.
{
 void Start()
 {
 SceneManager.LoadScene("SahneAdı");
 }
}

Hocam ben uzay oyunu yapıyorum oradaki düşmanları öldürdükten sonra diğer bölüme geçebileceğimi nasıl ayarlayabilirim?
 
Tabii ki oyuna bölüm sistemi getirmek istiyorum belirli bir düşman sayısını öldürdükten sonra diğer bölüme geçmek istiyorum.
Buradaki dökümandan yararlanabilirsin.
Kod:
using UnityEngine.SceneManagement;

public float dusmansayisi = 0;

void Update()
    {
        if(dusmansayisi >= 100)
        {
            SceneManager.LoadScene("sahneadi");
        }
    }
Buradaki if(dusmansayisi >= 100) yazan yer, senin bahsettiğin sayı. Düşmanların sayısı arttıkça ve 100'ü geçince senin istediğin sahneye yolluyor. 100 yazan yeri değiştirerek kaç düşman gerektiğini belirleyebilirsin.
 
Öncelikle düşman için yazdığın Script, Oyun yöneticisi bir Scripte her ölümde toplam ölüm sayısını arttıran bir kod yollamalı. Toplam ölüm sayısı hedef ölüm sayısına ulaşınca yukarıdaki sahne yükleme kodunu çağırıp bir sonraki Level'e geçmelisin. (Yeni sahne oluşturacaksın. Başka bir seviye tasarlayacaksın. Sonra bu sahnenin adını çağıracaksın Load Scene koduyla.)

  • OyunYoneticisi isimli bir script oluştur ve içeriğine buradaki kodu yaz.
  • Aynı şekilde Dusman isimli bir script olustur ve yine Dusman yazan kodu yaz içine.
  • Sonra tüm düşmanlara Dusman scriptini ata.
  • En son olarak da OyunYoneticisi isimli bir Game Object oluştur.
  • Objeye tıkla ve OyunYoneticisi scriptini ekle.
  • Daha sonra bu objeye Tag ata ve OyunYoneticisi Tag'ini seç.
Kod:
using UnityEngine;
using UnityEngine.SceneManagement;
public class OyunYoneticisi : MonoBehaviour{
public int hedefOlum=100, mevcutOlum=0;
void Update(){
 if(hedefOlum<=mevcutOlum){SceneManager.LoadScene("SahneAdı");}}}
Kod:
using UnityEngine;
public class Dusman : MonoBehaviour{
public int maxCan=100, mevcutCan=90;
public OyunYoneticisi oy;
void Start(){
 oy = GameObject.FindWithTag("OyunYoneticisi").GetComponent<OyunYoneticisi>();}
void Update(){if(mevcutCan<=0){oy.mevcutOlum++;}}}
Mantık hatalarını düzelttim.
 
Son düzenleme:
Hocam peki 2. sahneyi nasıl yaratabilirim?
Alttan(assets bölümünden) herhangi boş bir alana tıkla, create'den scene butonuna bas.
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
Bu video yardımcı olacaktır.
 

Geri
Yukarı