GameObject自己沒有功能,是Unity場景裏全部組件的基類,但不少時候咱們須要在腳本中操做GameObject。先講一下GameObject類包含哪些內容,其中經常使用的用紅色標出了html
activeInHierarchy | Is the GameObject active in the scene? 場景中的遊戲對象是否激活? |
activeSelf | The local active state of this GameObject. (Read Only) 該遊戲對象的局部激活狀態。(只讀) |
isStatic | Editor only API that specifies if a game object is static. 若是一個遊戲對象是靜態僅在編輯器API指定。 |
layer | The layer the game object is in. A layer is in the range [0…31]. 遊戲對象所在的層,層的範圍是在[0…31]之間。 |
scene | Scene that the GameObject is part of. 場景物體。 |
tag | The tag of this game object. 這個遊戲對象的標籤。 |
transform | The Transform attached to this GameObject. (null if there is none attached). 附加於這個遊戲對象上的變換。(若是沒有則爲空) |
GameObject | Creates a new game object, named name. 建立一個新的遊戲物體,命名爲name。 |
AddComponent | Adds a component class named /className/ to the game object. 添加一個名稱爲className的組件到遊戲對象。 |
BroadcastMessage | Calls the method named /methodName/ on every MonoBehaviour in this game object or any of its children. 對此遊戲對象及其子對象的全部MonoBehaviour中調用名稱爲methodName的方法。 |
CompareTag | Is this game object tagged with /tag/? 此遊戲對象是否被標記爲tag標籤? |
GetComponent | Returns the component of Type /type/ if the game object has one attached, null if it doesn't. 若是這個遊戲對象附件了一個類型爲type的組件,則返回該組件,不然爲空。 |
GetComponentInChildren | Returns the component of Type /type/ in the GameObject or any of its children using depth first search. 返回此遊戲對象或者它的全部子對象上(深度優先)的類型爲type的組件。 |
GetComponentInParent | Finds component in the parent. 從父對象查找組件。 |
GetComponents | Returns all components of Type /type/ in the GameObject. 返回該遊戲對象全部type類型的組件列表。 |
GetComponentsInChildren | Returns all components of Type /type/ in the GameObject or any of its children. 返回此遊戲對象與其子對象全部type類型的組件。 |
GetComponentsInParent | Returns all components of Type /type/ in the GameObject or any of its parents. 返回此遊戲對象與其父對象全部type類型的組件。 |
SampleAnimation | Samples an animation at a given time for any animated properties. 用於任何動畫剪輯在給定的時間採樣動畫。 |
SendMessage | Calls the method named /methodName/ on every MonoBehaviour in this game object. 在這個遊戲物體上的全部MonoBehaviour上調用名稱爲methodName的方法。 |
SendMessageUpwards | Calls the method named /methodName/ on every MonoBehaviour in this game object and on every ancestor of the behaviour. 在這個遊戲物體及其祖先物體的全部MonoBehaviour中調用名稱爲methodName的方法。 |
SetActive | Activates/Deactivates the GameObject. 激活/停用此遊戲對象。 |
CreatePrimitive | Creates a game object with a primitive mesh renderer and appropriate collider. 建立一個帶有原型網格渲染器和適當的碰撞器的遊戲對象。 |
Find | Finds a game object by /name/ and returns it. 找到並返回一個名字爲name的遊戲物體。 |
FindGameObjectsWithTag | Returns a list of active GameObjects tagged /tag/. Returns empty array if no GameObject was found. 返回具體tag標籤的激活的遊戲對象列表,若是沒有找到則爲空。 |
FindWithTag | Returns one active GameObject tagged /tag/. Returns null if no GameObject was found. 返回標記爲tag的一個遊戲對象,若是沒有找到對象則爲空。 |
GameObject.Find("animals/cat")
就只會查到父物體名字爲animals的cat物體。.
這個函數只返回活動的遊戲物體。
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public GameObject hand; void Example() { hand = GameObject.Find("Hand"); hand = GameObject.Find("/Hand"); hand = GameObject.Find("/Monster/Arm/Hand"); hand = GameObject.Find("Monster/Arm/Hand"); } }
FindWithTag用法與此相似,這裏就不舉例了數組
public Component GetComponent(Type type)
app
type 表示檢索數組的類型編輯器
若是這個遊戲對象附件了一個類型爲type的組件,則返回該組件,不然爲空。ide
using UnityEngine; public class GetComponentExample : MonoBehaviour { void Start() { HingeJoint hinge = gameObject.GetComponent(typeof(HingeJoint)) as HingeJoint; if (hinge != null) hinge.useSpring = false; } }
public T GetComponent() 函數
using UnityEngine; public class GetComponentGenericExample : MonoBehaviour { void Start() { HingeJoint hinge = gameObject.GetComponent<HingeJoint>(); if (hinge != null) hinge.useSpring = false; } }
public Component GetComponent(string type)動畫
若是這個遊戲對象附件了一個類型爲type的組件,則返回該組件,不然爲空。this
using UnityEngine; public class GetComponentNonPerformantExample : MonoBehaviour { void Start() { HingeJoint hinge = gameObject.GetComponent("HingeJoint") as HingeJoint; if (hinge != null) hinge.useSpring = false; } }
當你把腳本掛在一個物體上以後,腳本中的gameObject表明該物體,例如能夠經過gameObject.name來獲取腳本掛載對象的名字spa