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
Gerekli bir diğer component ise Rigidbody. Bunu oyuncu objemize yani aşağıdaki kodu atacağınız objeye ekleyin.
Beni sonuçtan haberdar edin.
Kod:
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using UnityEngine;
public class Code : MonoBehaviour
{
public Text moneyText;
public float money;
void OnTriggerEnter(Collider player){
if(player.gameObject.tag == "coin"){
Destroy(player.transform.gameObject);
UpdateMoney(1);
}
}
void UpdateMoney(int i){
money += i;
moneyText.text = "" + money;
}
}
Başardım arkadaşlar önce coin objemi preferb olarak aldım, öncesinde silindir olarak yaratmıştım ve preferb olarak almam gerektiğini yeni öğrendim, ardından capsule collider ve rigidbody ekledim, abdullah_akd kullanıcı adlı arkadaşımın bana tavsiye ettiği kodla birlikte çalıştı. En başta klonlamasını istediğim obje iki kere klonlanıp yok oluyordu ama bu sorunu da orijinal objeyi oyunda görünmeyecek şekilde kapatarak düzelttim hepinize çok teşekkür ederim iyi ki varsınız. Siz olmasaydınız başaramazdım
Gerekli bir diğer component ise Rigidbody. Bunu oyuncu objemize yani aşağıdaki kodu atacağınız objeye ekleyin.
Beni sonuçtan haberdar edin.
Kod:
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using UnityEngine;
public class Code : MonoBehaviour
{
public Text moneyText;
public float money;
void OnTriggerEnter(Collider player){
if(player.gameObject.tag == "coin"){
Destroy(player.transform.gameObject);
UpdateMoney(1);
}
}
void UpdateMoney(int i){
money += i;
moneyText.text = "" + money;
}
}