网页浏览总次数

星期一, 三月 04, 2024

Unity常用API方法和类(带代码)-3(Component,Transform)

 常用API的使用方法


Component 组件相关


    private GameObject girl;

    public GameObject testGO;

    void Start()

    {

        //拿到GO的引用后获取组件

        girl = GameObject.Find("girl");

        Debug.Log(girl.GetComponent<SpriteRenderer>().sprite.name);

        No5_Component no5_Component = GetComponent<No5_Component>();

        Debug.Log(testGO.GetComponentInChildren<BoxCollider>());//获取自身和子物体组件

        Debug.Log(testGO.GetComponentInParent<BoxCollider>());//获取父对象的组件

        Debug.Log(this.GetComponent<Transform>());//组件也可以调用GetComponent<>(),this可以省略

    }


Transform组件

 

//Transform组件(最核心,所有GO至少都有一个Transform组件)

Debug.Log(gameObject.transform);//拿到GO的引用后就可以拿到transform

//position 世界位置/坐标

Debug.Log(gameObject.transform.position);

Debug.Log(transform.position);//可以省略gameObject.

//rotation 四元数形式旋转

Debug.Log(transform.rotation);//(0.0,0.0,0.0,1.0)格式

//输出角度 欧拉角

Debug.Log(transform.eulerAngles);//面板上的X Y Z和打印的数值对应

Debug.Log(transform.parent);//获取父级的Transform组件

//相对于父对象的 局部(本地)位置/坐标

Debug.Log(transform.localPosition);

//相对于父对象的 局部(本地)四元数旋转

Debug.Log(transform.localRotation);

//相对于父对象的 局部(本地)欧拉角

Debug.Log(transform.localEulerAngles);

//相对于父对象的 局部(本地)缩放

Debug.Log(transform.localScale);

//自身坐标正前/右/上方向),不是世界坐标系的正前方,

//注意编辑器中当前坐标系Local还是Global

Debug.Log(transform.forward);//前 z轴

Debug.Log(transform.right);//右 x轴

Debug.Log(transform.up);//上 y轴

//查找

Debug.Log(transform.Find("Gril"));//返回的就是Transform

Debug.Log(transform.GetChild(0));//获取第一个子物体

Debug.Log(transform.GetSiblingIndex());//自身当前所在层级的索引

//静态方法

Transform.Destroy(transform.GetChild(0).gameObject);//销毁GO


没有评论:

发表评论