Merhaba.
Unity'de araba oyunu yapıyorum. Dropdown kullanarak arabayı değiştirmek istiyorum. Oyuna eklemiş olduğum diğer arabaya geçiş yapmak istiyorum yani. Bunu nasıl yapabilirim?
Evet UI kısmındaki dropdown elementinden bahsediyorum. Oyunuma birkaç farklı araba modülü ekledim temel olarak hepsi aynı ancak renkleri farklı oyuncunun dropdown elementini kullanarak oyuna koymuş olduğum araba seçenekleri arasında geçiş yapmamı sağlayacak bir sistem yapmak istiyorum açıkçası.
Geç cevap için üzgünüm. Öncelikle bir dropdown elementi yaratın. Bunun için hiyerarşide sağ tıklayıp drowndownu seçin
Ardından bu dropdown'ın OnValueChange eventine gelin.
Buraya arabanızı değiştirecek olan fonksiyonu verin. Bu fonksiyon bir int değeri değişken olarak kabul etmeli. Örneğin ben sahnedeki tüm arabalarınızın listesini bir yerde currentCars adlı listede tuttuğunuzu var saydım ve
C#:
public void ChangeCarWithDropdown(int dropdownIndex)
{
for(int i = 0;i<currentCars.Count;i++)
{
currentCars[i].gameObject.SetActive(i == dropdownIndex);
}
}
Böyle bir fonksiyon yazdım. bildiğiniz gibi listeler 0. indexten başlar ve ilerler. Dropdown da 0. indexten başlıyor. Bu durumda bu listedeki objelerden sadece dropdownın indexine açık olanı SetActive(true), diğerlerini SetActive(false) yapabiliriz. Yukarıda yazdığım kod da bu işe yarıyor.