[Unity2d]transform為什麼能直接呼叫

當加上程式碼後,gameObject這物件即代表自己本身

而transform是gameObject的子屬性

就我的理解應該就是像this那樣,呼叫本身

因此以下三種寫法都是對的

transform.position

gameObject.transform.position

this.transform.position 

都可以成功達成目標


 

DEMO:

using UnityEngine;
using System.Collections;

public class controller : MonoBehaviour {

    // Use this for initialization
    void Start () {

    }
    
    // Update is called once per frame

    void Update () {
            if(Input.GetKey(KeyCode.A))
        gameObject.transform.position = new Vector3(transform.position.x - 0.05ftransform.position.ytransform.position.z);
            if(Input.GetKey(KeyCode.D))
            gameObject.transform.position = new Vector3(transform.position.x + 0.05ftransform.position.ytransform.position.z);
    }

}