Unity'de spawn edilen objeleri toplama

KendineCoderr

Picopat
Katılım
7 Haziran 2022
Mesajlar
35
Çözümler
1
Daha fazla  
Cinsiyet
Kadın
Merhaba arkadaşlar. Yeniden bir Unity sorusuyla sizlerin karşısındayım :) bu oyunu sanırım sizinle birlikte bitireceğim. Fakat öğrenmek için soruyorum tabii ki bunları. Amacım şu anda oyun yapıp para kazanmak değil; bir oyunun gelişme süreçlerini, süreçlerdeki olası problemlerle nasıl başa çıkabileceğimi öğrenmek ve sektöre girerken biraz da olsa tecrübe kazanmış olmak. Fazla uzattım biliyorum fakat bu seferki sorum şu: Bir coin objesi spawn ettim çok güzel bir şekilde çalışıyor. İstediğim gibi geliyor fakat bu spawn objelerini toplamak istiyorum. Spawn olmadan kendi koyduğum coinleri toplamak ve yazdırmak için kullandığım CoD:

Kod:
Public Void ontriggerenter(collider other)

 {

 İf (other. Tag == "character")

 {

 Cointext. Coinamount += 1;

 Destroy(gameobject);

 }

}

Fakat spawn objelerine buna benzer bir toplama kodu nasıl yazacağımı bulamadım. Yardımcı olursanız sevinirim :)
 
Son düzenleme:
Umarım yanlış anlamamışımdır. Aşağıdaki kodu coin objesine atmanız gerekiyor. Oyuncu coin objesine değince coin objemiz yok olacak.

Scriptler arası etkileşim ile para aldığımızı gösteren bir fonksiyon yazabilirsiniz. Eğer bu konu hakkında da bilgi sahibi değilseniz belirtin.

Kod:
void OnCollisionEnter(Collision collision)
    {
        if(collision.tag == "Oyuncunun Tagı")
        {
            Destroy(gameObject);
        }
    }
 
Umarım yanlış anlamamışımdır. Aşağıdaki kodu coin objesine atmanız gerekiyor. Oyuncu coin objesine değince coin objemiz yok olacak.

Scriptler arası etkileşim ile para aldığımızı gösteren bir fonksiyon yazabilirsiniz. Eğer bu konu hakkında da bilgi sahibi değilseniz belirtin.

Kod:
void OnCollisionEnter(Collision collision)
    {
        if(collision.tag == "Oyuncunun Tagı")
        {
            Destroy(gameObject);
        }
    }

Umarım yanlış anlamamışımdır. Aşağıdaki kodu coin objesine atmanız gerekiyor. Oyuncu coin objesine değince coin objemiz yok olacak.

Scriptler arası etkileşim ile para aldığımızı gösteren bir fonksiyon yazabilirsiniz. Eğer bu konu hakkında da bilgi sahibi değilseniz belirtin.

Kod:
void OnCollisionEnter(Collision collision)
    {
        if(collision.tag == "Oyuncunun Tagı")
        {
            Destroy(gameObject);
        }
    }
maalesef bu da işe yaramadı :(
 
Benim üstteki gönderdiğim kodda OnCollisionEnter kullandım. Fakat sanırım siz OnTriggerEnter kullanmışsınız. Kodu aşağıdaki ile değiştirebilirmisiniz.

Kod:
void OnTriggerEnter(Collider collision)
    {
        if(collision.tag == "Oyuncunun Tagı")
        {
            Destroy(gameObject);
        }
    }
 
Benim üstteki gönderdiğim kodda OnCollisionEnter kullandım. Fakat sanırım siz OnTriggerEnter kullanmışsınız. Kodu aşağıdaki ile değiştirebilirmisiniz.

Kod:
void OnTriggerEnter(Collider collision)
    {
        if(collision.tag == "Oyuncunun Tagı")
        {
            Destroy(gameObject);
        }
    }
evet size cevap vermeden önce değiştirmiştim zaten işe yaramadı
 
Ben olsam her coin objesine kod atmak yerine oyuncumuza tek bir kontrolcü ekleyip yapardım. Hem optimizasyon açısından daha sağlıklı hem de zorlamaz. Ha öğrenmek için diyorsanız biraz daha araştırıp sizi bilgilendireceğim.
 
Ben olsam her coin objesine kod atmak yerine oyuncumuza tek bir kontrolcü ekleyip yapardım. Hem optimizasyon açısından daha sağlıklı hem de zorlamaz. Ha öğrenmek için diyorsanız biraz daha araştırıp sizi bilgilendireceğim.
spawn edilen tek bir coin objem var. Oradan coin klonları oluşuyor bende bu klonlarla karakterimi çarpıştırıp text kısmına puan yazdırmak istiyorum. Yani coin toplamak için karakter scriptinde collision ile yaparsam olur mu demek istiyorsunuz?
 

Geri
Yukarı