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:
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.

Hocam dediklerinizi yaptım 5 tane sahne oluşturdum şimdi düşman tiplerini değiştirmek istiyorum ancak birini değiştirince diğerleri de değişiyor.
 
Hocam dediklerinizi yaptım 5 tane sahne oluşturdum şimdi düşman tiplerini değiştirmek istiyorum ancak birini değiştirince diğerleri de değişiyor.

Base Class oluşturup daha sonra Class üzerinde değişiklik yapmak isteyince yeni Scriptten ortak olmasını istemediğin yanlarını üzerine yazabilirsin. Bu örnekteki gibi mesela. (Örnek olarak her düşmanın canının olmasını istersin ama sadece bazılarının uçabilmesini istersin.)

Kod:
 public class Hayvan
 { public virtual HareketEt() { debug.Print("Hayvan.HareketEt()");} }

 public class Kus: Hayvan
 { public virtual override HareketEt() { debug.Print("Kus.HareketEt()"); }
 Hayvan x = new Kus();
 x.HareketEt(); // Ekrana "kus.HareketEt" yazsın.}
 
Nasıl yani? Düşmanların görünüşünü mü değiştirmek istiyorsunuz?

Evet doğrudur elimde hazır assetler var onları kullanarak deştirmeye çalışıyorum.
Ö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.
Adsız.pngaaa.png

hocam şöyle yaptım ama hata veriyor
 
Belgenin içeriğini tamamen sil ve öyle yapıştır. İki defa sınıf ilan etmişsin. Script adlarınıda aynen yaz. Ö falan Türkçe karakter kullanma. Bu Scripti sil yeni oluştur. Çünkü kaydedince OyunYöneticisi adıyla kaydetmiş olacaksın ama kod OyunYoneticisi'ni arayacak. Classdan sonra yeşil yer iki noktaya kadar ne ise dosya adını aynısı.cs yapacaksın. (Mesela OyunYoneticisi.cs ya da Dusman.cs)
 
Son düzenleme:
Belgenin içeriğini tamamen sil ve öyle yapıştır. İki defa sınıf ilan etmişsin. Script adlarınıda aynen yaz. Ö falan Türkçe karakter kullanma.
Oyunyönetici türü veya ad alanı adı bulunamadı tarzında bir hata veriyor.
Nasıl yani? Düşmanların görünüşünü mü değiştirmek istiyorsunuz?

Hocam hepsini ayarladım. Sadece düşmanları öldürdükten sonra diğer sahneye geçişi ayarlayamadım.
 
Son düzenleme:
Oyunyönetici türü veya ad alanı adı bulunamadı tarzında bir hata veriyor.


Hocam hepsini ayarladım. Sadece düşmanları öldürdükten sonra diğer sahneye geçişi ayarlayamadım.
Tek yapmanız gereken sahne ismini yazmak. "SahneAdi" yazan yere geçmesini istediğiniz sahnenin ismini yazın.
 

Yeni konular

Geri
Yukarı