Unity场景里面所有实体的基类
场景中的游戏对象是否激活
bool activeInHierarchy;
该游戏对象的局部激活状态
bool activeSelf;
添加一个名称为className的组件到游戏对象
public SphereCollider sc; void Example() { sc = gameObject.AddComponent("SphereCollider") as SphereCollider; }
附加于这个游戏对象上的动画
public GameObject other; void Example() { other.animation.Play(); }
附加于这个游戏对象上的音频资源
public GameObject other; void Example() { other.audio.Play(); }
对此游戏对象及其子对象的所有MonoBehaviour中调用名称为methodName的方法
void ApplyDamage(float damage) { print(damage); } void Example() { gameObject.BroadcastMessage("ApplyDamage", 5.0F); }
附加于这个游戏物体上的相机
public GameObject other; void Example() { other.camera.fieldOfView = 45; }
附加于这个游戏物体上的碰撞体
public GameObject other; void Example() { other.collider.material.dynamicFriction = 1; }
附加于此对象的2D碰撞器组件
Collider2D collider2D;
此游戏对象是否被标记为tag标签
void OnTriggerEnter(Collider other) { if (other.gameObject.CompareTag("Player")) Destroy(other.gameObject); }
附加于这个游戏对象上的恒定的力
public GameObject other; void Example() { other.constantForce.relativeForce = new Vector3(0, 0, 1); }
创建一个带有原型网格渲染器和适当的碰撞器的游戏对象
void Start() { GameObject plane = GameObject.CreatePrimitive(PrimitiveType.Plane); GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube); cube.transform.position = new Vector3(0, 0.5F, 0); GameObject sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere); sphere.transform.position = new Vector3(0, 1.5F, 0); GameObject capsule = GameObject.CreatePrimitive(PrimitiveType.Capsule); capsule.transform.position = new Vector3(2, 1, 0); GameObject cylinder = GameObject.CreatePrimitive(PrimitiveType.Cylinder); cylinder.transform.position = new Vector3(-2, 1, 0); }
找到并返回一个名字为name的游戏物体
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"); }
返回具体tag标签的激活的游戏对象列表,如果没有找到则为空
public GameObject respawnPrefab; public Object respawns; void Start() { if (respawns == null) respawns = GameObject.FindGameObjectsWithTag("Respawn"); foreach (Object respawn in respawns) { Instantiate(respawnPrefab, respawn.transform.position, respawn.transform.rotation) as GameObject; } }
返回标记为tag的一个游戏对象,如果没有找到对象则为空
public GameObject respawnPrefab; public GameObject respawn; void Start() { if (respawn == null) respawn = GameObject.FindWithTag("Respawn"); Instantiate(respawnPrefab, respawn.transform.position, respawn.transform.rotation) as GameObject; }
创建一个新的游戏物体,命名为name
public GameObject player; void Example() { player = new GameObject("Player"); player.AddComponent("Rigidbody"); player.AddComponent("BoxCollider"); }
如果这个游戏对象附件了一个类型为type的组件,则返回该组件,否则为空
public HingeJoint hinge; void Example() { hinge = gameObject.GetComponent(); hinge.useSpring = false; }
返回此游戏对象或者它的所有子对象上(深度优先)的类型为type的组件
public HingeJoint hinge; void Example() { hinge = gameObject.GetComponentInChildren(); hinge.useSpring = false; }
从父对象查找组件
public HingeJoint hinge; void Example() { hinge = gameObject.GetComponentInParent(); hinge.useSpring = false; }
返回该游戏对象所有type类型的组件列表
public HingeJoint[] hingeJoints; void Example() { hingeJoints = gameObject.GetComponents(); foreach (HingeJoint joint in hingeJoints) { joint.useSpring = false; } }
返回此游戏对象与其子对象所有type类型的组件
public HingeJoint[] hingeJoints; void Example() { hingeJoints = gameObject.GetComponentsInChildren(); foreach (HingeJoint joint in hingeJoints) { joint.useSpring = false; } }
返回此游戏对象与其父对象所有type类型的组件
public HingeJoint[] hingeJoints; void Example() { hingeJoints = gameObject.GetComponentsInParent(typeof(HingeJoint)); foreach (HingeJoint joint in hingeJoints) { joint.useSpring = false; } }
附加于这个游戏对象上的GUIText
public GameObject other; void Example() { other.guiText.text = "HelloWorld"; }
附加于这个游戏对象上的GUITexture
void Example() { guiTexture.color = Color.blue; }
附加于这个游戏对象上的铰链关节
public GameObject other; void Example() { other.hingeJoint.spring.targetPosition = 70; }
如果一个游戏对象是静态仅在编辑器API指定
bool isStatic;
游戏对象所在的层,层的范围是在[0…31]之间
void Example() { gameObject.layer = 2; }
附加于这个游戏物体上的灯光
public GameObject other; void Example() { other.light.range = 10; }
附加于这个游戏对象上的网络视图
public GameObject other; void Example() { other.networkView.RPC("MyFunction", RPCMode.All, "someValue"); }
附加于这个游戏对象上的粒子发射器
public GameObject other; void Example() { other.particleEmitter.emit = true; }
附加于这个游戏对象上的粒子系统
public GameObject other; void Example() { other.particleSystem.Emit(5); }
附加于这个游戏对象上的渲染器
public GameObject other; void Example() { other.renderer.material.color = Color.green; }
附加于这个游戏对象上的刚体
public GameObject other; void Example() { other.rigidbody.AddForce(1, 1, 1); }
用于任何动画剪辑在给定的时间采样动画
public AnimationClip clip; void Update() { gameObject.SampleAnimation(clip, clip.length - Time.time); }
场景物体
public SceneManagement.Scene scene;
在此游戏对象所有MonoBehaviour上调用名称为methodName的方法
void ApplyDamage(float damage) { print(damage); } void Example() { gameObject.SendMessage("ApplyDamage", 5.0F); }
调用此游戏对象及其behaviour的父对象上所有MonoBehaviour名为methodName的方法
void ApplyDamage(float damage) { print(damage); } void Example() { gameObject.SendMessageUpwards("ApplyDamage", 5.0F); }
激活/停用此游戏对象
void SetActive(bool value);
这个游戏对象的标签
void Example() { gameObject.tag = "Player"; }
附加于这个游戏对象上的变换
public GameObject other; void Example() { other.transform.Translate(1, 1, 1); }