UnityEngine中的GameObject

UnityEngine中的GameObject


在Unity中,游戏中的每一个物体都可以是看作一个游戏对象,UnityEngine将这些游戏对象封装成为GameObject类

GameObject构造

无参构造

public GameObject () //创建一个基础的游戏对象

有参构造

public GameObject (string name)//创建一个名称为name的游戏对象

//功能:创建一个游戏对象并为该对象添加组件
//name:创建对象的名称
//Components:需要添加的组件类型
public GameObject(string name , Type[] Components)

GameObject 属性

弃用的属性略过

属性 类型 含义 操作
layer int 当前游戏物体所在的 R/W
activeSelf bool 物体自身是否被激活 R
activeInHierarchy bool 物体在场景中是否为激活状态 R
isStatic bool 表示物体是否为静态物体(Editor Only) R/W
tag string 物体的标签,可以用来查找物体 R/W
scene Scene 获取物体所在的场景 R
gameObject GameObject 获取当前对象的实例 R
transform Transform 获取物体身上的变换组件 R

GameObject 方法

静态方法

  • public static GameObject CreatePrimitive(PrimitiveType type)

   使用基础物体创建一个一个游戏对象,包含对应的MeshCollider

  • public static GameObject Find(string name)

   查找场景中名称为name的游戏对象,name可以是一个路径,搜索不到未激活的对象

  • public static GameObject[] FindGameObjectsWithTag(string tag)

   查找场景中标签tag的所有物体,未激活物体不会被搜索到

  • public static GameObject FindGameObjectWithTag(string tag)

   查找场景中标签是tag的物体,搜索到多个物体,返回最后一个被创建的物体

  • public static GameObject FindWithTag(string tag)

   同FindGameObjectWithTag

  • public T AddComponent<T>() where T : Component

   添加一个组件到游戏物体上

  • public void BroadcastMessage(string methodName, [DefaultValue("null")] object parameter, [DefaultValue("SendMessageOptions.RequireReceiver")] SendMessageOptions options)

   调用对象身上和子物体所有脚本中方法名为methodName的方法(公开、私有对会被调用),参数是parameter,SendMessageOption是否需要接收者,如果是,需要调用对向脚本中有对应函数,若没有会报错

  • public bool CompareTag(string tag)

   比较自身Tag和参数tag是否相同

  • public T GetComponent<T>()

   获取物体身上的T组件

  • public T GetComponentInChildren<T>()

   获取自身和子物体身上的T组件,深度优先

  • public T GetComponentInParent<T>()

   获取自身或父物体身上的T组件,包含祖父组件

  • public T[] GetComponents<T>();

   获取自检身上所有的T组件

  • public void SendMessage(string methodName, object value)

   调用物体自身脚本中所有方法名为methodName的方法,参数为value

  • public void SendMessageUpwards(string methodName, object value)

   调用自身以及父物体脚本中方法名为methodName的方法,参数为value

  • public void SetActive(bool value)

   设置物体是否被激活

猜你喜欢

转载自blog.csdn.net/weixin_36382492/article/details/103402366