常用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
没有评论:
发表评论