Amacim menu sahnesinde oyuncunun player olarak kullanacigi topun materyalini degistirmesi ve bu degisimin her sahnede olmasi. birkac yol denedim ancak sadece tek bir sahnede bu degisimi gerceklestirebildim. Bunun tum ayni tag ve isimdeki objeleri degistirmenin bir yolu var mi? kod bu
Kod:
public static GameObject objs;
public Material[] material;
Renderer rend;
void Start()
{
objs = GameObject.FindGameObjectWithTag("Spheretag");
}
public void choose() {
objs.transform.GetComponent<Renderer>().material = material[1];
}
material[1] derseniz hep 1. indisteki material kullanılmış oluyor. Bu yüzden değişiklik olmuyor.
(23-02-2019, Saat: 23:29)mtat0640 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.!material[1] derseniz hep 1. indisteki material kullanılmış oluyor. Bu yüzden değişiklik olmuyor.
Peki bunun yerine yapmam gereken nedir? 9 saattir felan bakiyorum hic yol katedemedim , her sahnede yeni bir sphere olusturdum hepsine ayni tag i verdim , material[1] yerine Resources.Load<Material>("Materrials/colorsphere 1"); kullandim ancak olmuyor
(24-02-2019, Saat: 00:15)panimo 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.! (23-02-2019, Saat: 23:29)mtat0640 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.!material[1] derseniz hep 1. indisteki material kullanılmış oluyor. Bu yüzden değişiklik olmuyor.
Peki bunun yerine yapmam gereken nedir? 9 saattir felan bakiyorum hic yol katedemedim , her sahnede yeni bir sphere olusturdum hepsine ayni tag i verdim , material[1] yerine Resources.Load<Material>("Materrials/colorsphere 1"); kullandim ancak olmuyor
Oyuncunun kaçıncı indisteki materyali seçtiğini kaydetmeniz gerekecek. Bunu PlayerPrefs ile yapabilirsiniz.
int secimIndis=(bu kısım oyuncunun seçimine göre doldurulacak)
PlayerPrefs.SetInt("TopMaterial",secimIndis);
Daha Sonra Oyun sahnesi yüklenirken
Kod:
objs.transform.GetComponent<Renderer>().material = material[PlayerPrefs.GetInt("TopMaterial")];