1. 程式人生 > >利用This擴充套件靜態方法(鏈式程式設計)

利用This擴充套件靜態方法(鏈式程式設計)

比如 "gameObject.GetComponent<Transform>() ; " 可以通過GameObject直接呼叫Unity定義好的API "GetComponent" ,如果已有API滿足不了使用需求,還可以利用This關鍵字進行擴充套件(專業名詞應該是鏈式程式設計),當然也不僅限於GameObject。

比如:

修改Transform.Position的X值:

    public static void SetPositionX(this Transform t, float newX)
    {
        t.position = new Vector3(newX, t.position.y, t.position.z);
    }

修改Vector3的Y值:

    public static Vector3 SetY(this Vector3 t, float newY)
    {
        t.y = newY;
        return t;
    }

修改Color的透明度: 

    public static Color SetAlpha(this Color c, float newAlpha)
    {
        c.a = newAlpha;
        return c;
    }

這樣就可以自己封裝一些使用頻率高的方法函式,呼叫更加簡潔方便,但這樣也會混淆Unity原有函式,需要合理使用~~