GameObject 类是Unity场景中所有实体的基类。一个GameObject对象通常由多个组件component组成,且至少含有一个transform组件。
activeSelf 属性 —— GameObject的Active标识
activeInHierarchy 属性的功能是返回GameObject实例在程序运行时的激活状态,它只有当GameObect实例的状态被激活时才会返回true。而且它会受父类对象激活状态的影响。如果其父类至最顶层的对象中有一个对象未被激活,activeInHierarchy就会返回false
using UnityEngine;
using System.Collections;
public class ActiveSelf_ts : MonoBehaviour {
public GameObject cube1, cube2, cube3;
void Start () {
// 对cube2设置为false,其他设置为true
cube1.SetActive(true);
cube2.SetActive(false);
cube3.SetActive(true);
Debug.Log("activeSelf:");
// 尽管cube2被设置为false,但其子类cube3的activeSelf返回值仍然为true
Debug.Log("cube1.activeSelf:" + cube1.activeSelf);
Debug.Log("cube2.activeSelf:" + cube2.activeSelf);
Debug.Log("cube3.activeSelf:" + cube3.activeSelf);
Debug.Log("nactiveInHierarchy:");
// cube2 和 cube3的activeInHierarchy返回值都为false
Debug.Log("cube1.activeInHierarchy:" + cube1.activeInHierarchy);
Debug.Log("cube2.activeInHierarchy:" + cube2.activeInHierarchy);
Debug.Log("cube3.activeInHierarchy:" + cube3.activeInHierarchy);
}
}
GameObject 构造方法
public GameObject();
public GameObject(string name);
public GameObject(string name,params Type[] components)
using UnityEngine;
using System.Collections;
public class Constructors_ts : MonoBehaviour {
void Start () {
// 使用构造函数 GameObject (name : String)
GameObject g1 = new GameObject("G1");
g1.AddComponent<Rigidbody>();
// 使用构造函数 GameObject ()
GameObject g2 = new GameObject();
g2.AddComponent<FixedJoint>();
// 使用构造函数 GameObject (name : String, params components : Type[])
GameObject g3 = new GameObject("G3",typeof(MeshRendere