Unity 3D TR Forum

Orjinalini görmek için tıklayınız: Başka Scriptte ki Değişkene Erişim
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Arkadaşlar merhaba aranıza yeni katıldım ve bir sorunum var. Bir oyun yapıyorum. Oyunda puana göre nesnelerin hareket hızına müdahele edeceğim. Şimdi gelelim sorunuma. Başka scriptte bulunan int bir değişkene erişim sağlamam gerekiyor. Bunu yaptım. Şu şekilde;

Elimde 2 adet script var. Biri topKontrol diğeri ise bucket. Bucket scripti içerisinde bulunan int sayac değişkenine eriştim. Şu şekilde;

    private bucket puanSistemi;
    public GameObject kutu;

    void Update()
    {
        puanSistemi = kutu.GetComponent<bucket>();
        Debug.Log(puanSistemi.sayac);
        if (puanSistemi.sayac >= 0)
        {
            transform.position += transform.right * Time.deltaTime * hiz;
        }
        if (puanSistemi.sayac >= 10)
        {
            hiz += 5f;
            transform.position += transform.right * Time.deltaTime * hiz;
        }
      
    }

Az çok ne olduğunu anlamışsınızdır. Bucket scripti içerisinde ki int sayac değişkeni arttıkça, bende nesnenin hareket hızını arttırmaya çalışıyorum. Fakat işe yaramıyor. Yani HİÇBİR sorun gözükmüyor. Kodlama hatası vs. Oluşturduğum algoritma da bir sıkıntı var o aşikar. Diğer scriptte ki sayac değişkenim artış gösterdiğinde bu script üzerinde ne olursa olsun veri hep sıfır. Ekrana Debug.Log olarak yazdırıp verinin değişip değişmediğine de bakayım dedim. Sayac bucket scripti içerisinde artıyor ama topKontrol scripti içerisinde hep sıfır. Lütfen yardımcı olun hala çözemedim. Şunu çözsem oyunla ilgili büyük bir kısmı atlayacağım.
Bir değişkene dışarıdan ulaşıp değiştiğinde haberdar olmak için ben şöyle yapıyorum; değişken ya static yapılır (sürekli bellekte yer kaplar), ya değişken değiştiğinde diğer scripte ulaşıp haber verilir (yani yaptığının tam tersi), ya da player pref olayları uygulanabilir. Bir de oyun sahnesine null bir gameobje oluşturup tüm scriptler buradan haberleşebilir
(07-04-2018, Saat: 23:24)Eyelay Nickli Kullanıcıdan Alıntı: Linkleri görüntüleyebilmek için Kayıt ol manız veya Giriş yapmanız gerekiyor.Anlayışınız için teşekkürler.!Bir değişkene dışarıdan ulaşıp değiştiğinde haberdar olmak için ben şöyle yapıyorum; değişken ya static yapılır (sürekli bellekte yer kaplar), ya değişken değiştiğinde diğer scripte ulaşıp haber verilir (yani yaptığının tam tersi), ya da player pref olayları uygulanabilir. Bir de oyun sahnesine null bir gameobje oluşturup tüm scriptler buradan haberleşebilir

Ya PlayerPrefs benim aklıma nasıl gelmedi hocam Big Grin Gerçekten çok aydınlattın beni onu kullanarak zaten direkt istediğim script üzerinden veriye erişim sağlayabilirim. Teşekkür ederim.
bu yüzden ekipten daha başarılı çalışmalar çıkar Smile kolay gelsin