Transform变换组件
场景中的每个对象都有一个变换组件。 它用于存储和操作对象的位置、旋转和缩放。
Start()方法中的使用
1.访问与获取
public class No6_Transform : MonoBehaviour
{
void Start()
{
Debug.Log(this.transform);//输出当前组件挂载在的游戏物体的transform组件
Debug.Log(grisGo.transform);//输出grisGo游戏物体的transform组件
}
}
2.成员变量
public class No6_Transform : MonoBehaviour
{
public GameObject grisGo;
void Start()
{
Transform grisTrans = grisGo.transform;//使用变量grisTrans接收储存grisGo的transform
//2.成员变量
Debug.Log("Gris变换组件所挂载的游戏物体名字是:"+grisTrans.name);
Debug.Log("Gris变换组件所挂载的游戏物体引用是:"+grisTrans.gameObject);
Debug.Log("Gris下的子对象(指Transform)的个数是:"+grisTrans.childCount);
Debug.Log("Gris世界空间中的坐标位置(position)是:" + grisTrans.position);
Debug.Log("Gris以四元数形式表示的旋转(rotation)是:" + grisTrans.rotation);
Debug.Log("Gris以欧拉角形式表示的旋转(以度数为单位)是"+grisTrans.eulerAngles);
Debug.Log("Gris的父级Transform是:"+grisTrans.parent);
Debug.Log("Gris相对于父对象的位置坐标是:"+grisTrans.localPosition);
Debug.Log("Gris相对于父对象以四元数形式表示的旋转是:" + grisTrans.localRotation);
Debug.Log("Gris相对于父对象以欧拉角形式表示的旋转(以度数为单位)是:" + grisTrans.localEulerAngles);
Debug.Log("Gris相对于父对象的变换缩放是:"+grisTrans.localScale);
Debug.Log("Gris的自身坐标正前方(Z轴正方向)是:"+grisTrans.forward);
Debug.Log("Gris的自身坐标正右方(X轴正方向)是:" + grisTrans.right);
Debug.Log("Gris的自身坐标正上方(Y轴正方向)是:" + grisTrans.up);
}
}
3.查找
公有方法
public class No6_Transform : MonoBehaviour
{
public GameObject grisGo;
void Start()
{
Debug.Log("当前脚本挂载的游戏对象下的叫Gris的子对象身上的Transform组件是:"+transform.Find("Gris"));
Debug.Log("当前脚本挂载的游戏对象下的第一个(0号索引)子对象的Transform引用是:"+transform.GetChild(0));
Transform grisTrans = grisGo.transform;
Debug.Log("grisGo(拖拽引用的游戏物体)当前在此父对象同级里所在的索引位置:"+ grisTrans.GetSiblingIndex());
}
}
静态方法
public class No6_Transform : MonoBehaviour
{
public GameObject grisGo;
void Start()
{
Transform grisTrans = grisGo.transform;
Transform.Destroy(grisTrans.gameObject);//通过Transform销毁grisTrans的gameObject
//也可以直接写Destroy(grisTrans.gameObject);
//下面这些与GameObject中的用法一样
Transform.FindObjectOfType<T>();
Transform.Instantiate();
}
}