gtag('config', 'UA-180278623-1'); Unity 3D Components-SCRIPT İLE BAŞKA BİR COMPONENTİN KONTROLÜ - Bilginiz Dahilinde

Ads Top

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.

}

 

SCRIPT İLE BAŞKA BİR COMPONENTİN KONTROLÜ:

 

SCRIPT İLE BAŞKA BİR COMPONENTİN KONTROLÜ:

Aynı şekilde void start void update gibi fonksiyonlarıda farklı scriptlerden ulaşabiliriz. Fakat önemli bir not ; bu Word içinde baştan sona kadar anlatılan yerlerde public ve privatenin önemi çok büyük çünkü private olan bir fonksiyon veya değişkenin değerlerine başka script üzerinden ulaşılamaz. Ulaşmak istiyorsak public olmalıdır !!!!!!!
public class Control : MonoBehaviour
{
   public int sayi;
   public void Yazdir()
    {
        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:

Blogger tarafından desteklenmektedir.