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:
Temel mantık doğru gibi. Büyük küçük harf ve boşluklar mı karışmış?

C#:
void OnTriggerEnter(Collider other)
{
 if (other.gameObject.tag == "character")
 {
 // coin degiskenini arttirma
 Destroy(gameobject);
 }
}

Cointext. Coinamount += 1; kısmını anlamadım. Doğrudan UI text içinde mi tutmaya çalışıyorsunuz değişkeni. Orası da karışmış gibi.
 
Temel mantık doğru gibi. Büyük küçük harf ve boşluklar mı karışmış?

C#:
void OnTriggerEnter(Collider other)
{
 if (other.gameObject.tag == "character")
 {
 // coin degiskenini arttirma
 Destroy(gameobject);
 }
}

Cointext. Coinamount += 1; kısmını anlamadım. Doğrudan UI text içinde mi tutmaya çalışıyorsunuz değişkeni. Orası da karışmış gibi.
evet. Text'te yazdırmak için coinText adında class'ım vardı. Bu benim eski kodum. Objeleri kendim koyduğumda text'e yazdırmak ve çarptığım objeleri toplamak için böyle bir kod yazmıştım ve çalışıyordu. Ama aynısını, objeleri kendim oluşturarak değil de tek bir objeden spawn ederek olsa nasıl olur diye düşündüm.

Merhaba, Toplama derken ne demek istedin? Spawnlamak mı yoksa kod içerisinde aynı yerde mi tutmak?
spawn ettiğim objeleri karakter çarptığında yok etmek ve textte göstermek puan almak gibi
 
Eğer attığınız kod sahneye birden fazla coin ekleyip toplamayı denediğinizde düzgün çalışıyorsa kod ile spawn ettiğinizde de çalışacaktır. Instantiate ile spawn edip toplamayı denediniz mi?
 
Temel mantık doğru gibi. Büyük küçük harf ve boşluklar mı karışmış?

C#:
void OnTriggerEnter(Collider other)
{
 if (other.gameObject.tag == "character")
 {
 // coin degiskenini arttirma
 Destroy(gameobject);
 }
}

Cointext. Coinamount += 1; kısmını anlamadım. Doğrudan UI text içinde mi tutmaya çalışıyorsunuz değişkeni. Orası da karışmış

Eğer attığınız kod sahneye birden fazla coin ekleyip toplamayı denediğinizde düzgün çalışıyorsa kod ile spawn ettiğinizde de çalışacaktır. Instantiate ile spawn edip toplamayı denediniz mi?
şimdi şöyle onTriggerEnter olarak çalışıyor yani collideri olan bir nesnede "is trigger" ı true yaparak çalışıyor fakat klonlanan nesnellerde collider olmadığı için işe yaramıyor
 
Klonladığınız nesneler de orijinalinin özelliklerini alır normalde. Atladığınız bir nokta olabilir. Prefab kullanarak klonlıyorsanız prefabta IsTrigger'ın aktif olduğundan emin misiniz?
 

Geri
Yukarı