Unity3d 之 理解Gameobject ,gameObject,Transform,transform的區別和關聯


Gameobject是一個類型,所有的游戲物件都是這個類型的對象。
gameobject是一個對象, 就跟java里面的this一樣, 指的是這個腳本所附着的游戲物件

 

public class ShowSliderValue : MonoBehaviour  
{     
    private GameObject  obje; //定義GameObject類型的指針  
    void Start(){  
        Text  lal =gameObject.GetComponent<Text> (); //通過gameObject獲取到Text組件.  
        Debug.Log ("Text" + lal.text); //打印獲取到組件的中的text的屬性  
    }  
}  

Text  lal =gameObject.GetComponent<Text> () 中不使用gameObject , 直接通過GetComponent<Text> (),也是可以的.

 

Transform是一個,用來描述物體的位置,大小,旋轉等等信息。
transform是Transform類的對象,依附於每一個物體。也是當前游戲對象的一個組件(每個對象都會有這個組件)

 

transform與gameObject

1>二者的含義
        transform :  當前游戲對象的transform組件
      gameobject :當前游戲對象的實例


2>兩者的聯系和區別
        * 在unity中每個游戲對象都是一個gameobject. monodevelop中的gameobject就代表着本腳本所依附的對象. 每個gameobject都包含各種各樣的組件,但從這點可以看出transform是gameobject的一個組件,控制着gameobject的位置,縮放,和旋轉,而且每個gameobject都有而且必有一個transform組件
        * gameobject.find用來獲取場景中那個我們需要查找的對象(object).  而transform.find方法則是獲取當前對象的子對象下我們需要獲取的目標對象位置信息。
        
        * 注意:  在update() 中盡量不使用find() 方法,影響性能.
     

3>gameobject.transform與transform.gameobject

        *  gameobject.transform,是獲取當前游戲對象的transform組件.
            所以在start函數中 gameobject.transform 和this.transform,指向的都是同一個對象。即:gameobject.transform == this.transform == transform

 

        * transform.gameobject:可以這么理解為:獲取當前transform組件所在的gameobect
           所以在start()函數中transform.gameobject == this.gameobject == gameobect

   所以他們可以無限的引用下去

意思就是。gameobject.transform == this.transform == gameobject.transform.gameobject.tranform == tranform.gameobect.transform

 

public class ShowSliderValue : MonoBehaviour  
{     
    private GameObject  obje; //定義GameObject類型的指針  
    private Transform   trans;//定義Transform類型的指針  
  
    void Start(){  
        Debug.Log ("gameObject.name:" + gameObject.name);  
        Debug.Log ("gameObject.transform.gameObject.name:" + gameObject.transform.gameObject.name);  
        Debug.Log ("ThisGame.name:" + this.gameObject.name);  
    }  
} 

  

參考鏈接:http://blog.csdn.net/lxl_815520/article/details/53638481


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM