Unity 3D Components-SCRIPT İLE BAŞKA BİR COMPONENTİN KONTROLÜ
SCRIPT İLE BAŞKA BİR COMPONENTİN KONTROLÜ:
public class Control : MonoBehaviour
{
public int sayi;
private void Start()
{
print (sayi);
}
İlk başta int türünde sayi değişkeni belirledik ve editörde
görebilmek için başına public yazdık.
Print kodu ile konsolda yazdırdığımızda 0 yazdı çünkü int
sayi değikenine herhangi bir değer atamadık bu durumdan dolayı konsolda 0
yazdırdı. Ardından test scripti içerisinden kod yazmaya başladık.
public class test : MonoBehaviour
{
private void Start()
{
this.GetComponent<Control>().sayi = 10;
}
Test scripti ile control scripti hierarşi bölümündeki aynı
obje içerisinde yer aldığı için this ile başladık ama this yazmasakta program
bu iki script aynı obje içinde olduğundan otomatik olarak algılayacaktır. <
> işaretleri arasına scriptin adını yazdık yani scriptlerde bir component
oldukları için componentin ismini yazdık . Daha sonrasında ise sayi
değişkeninin değerini değiştirmek istediğimiz sayıya eşitledik.
}
public class Control : MonoBehaviour
public int sayi;
print("hi");
Ulaşmak istediğimiz fonksiyon public void Yazdir () fonksiyonudur Bu fonksiyona başka bir script üzerinden erişeceğiz alt kısımda. Burada dikkat edilmesi gereken önemli bir nokta ise Yazdir fonksiyonunun başında public olmasıdır. Eğer ki private olsaydı başka bir script üzerinden bu fonksiyona erişim sağlayamazdık.
}
public class test : MonoBehaviour
private void Start()
this.GetComponent<Control>().Yazdir();
Bu kod sayesinde bir scripptin içindeki fonksiyona başka bir scriptin içinden ulaşabildik. Kod kısmında Yazdir’in yaninda () işaretinin olmasının sebebi ise bu ifadenin bir fonksiyon olmasından kaynaklıdır.
}
Hiç yorum yok: