利用This扩展静态方法(链式编程)

发表于2018-10-20
评论0 701浏览

想免费获取内部独家PPT资料库?观看行业大牛直播?点击加入腾讯游戏学院游戏程序行业精英群

711501594
比如 "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;
    }
这样就可以自己封装一些使用频率高的方法函数,调用更加简洁方便~~

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

标签:

游戏学院公众号二维码
腾讯游戏学院
微信公众号

提供更专业的游戏知识学习平台