Skip to content

GameObject (JavaScript)

GameObject

Scripting Name:Insight.GameObject

实体管理的单位,每个 GameObject 都有自己的 Transform,以及 Parent 和 Children。

Properties


activeInHierarchy

type : boolean

(只读)判断自己及父 GameObject 是否活跃。

activeSelf

type : boolean

(只读)判断自己是否活跃。

frustumCulled

type : boolean

是否对该 GameObject 上的 Mesh 进行视锥体剔除,默认为 true。

layer

type : number

GameObject 所在层。

注意:用户在设置 layer 时,需要在 21-30 层填写;<=20 层是SDK内容使用占用。

name

type : string

GameObject 的名称。

transform

type :Insight.Transform

(只读)Transform 组件。

parent

type :Insight.GameObject

(只读)当前 GameObject 的父 GameObject。

children

type :Array[Insight.GameObject]

(只读)当前 GameObject 的子 GameObject 数组。

Methods


toString

javascript
public string toString();

将 gameObject 内容以一定格式转为 string 类型。

javascript
// sample
Insight.Debug.Log( this.gameobject.toString() );

getComponent

javascript
public Insight.Component getComponent(string typeName, number index = 0);

通过组件类型名称和序号获取组件。

Parameter

  • typeName : string 组件类型名称
  • index : number 组件序号,从 0 开始 **[备注]**typeName 包括:Animator,AudioSource,VideoPlayer,BoxCollider,SphereCollider,Light,Camera,Transform,CanvasRenderer,RawImage,Image,Text,Canvas,Button,ParticleSystem, HingeJoint,Rigidbody。以及 Renderer 和 SkinnedMeshRenderer 等同,均指向 SkinnedMeshRenderer 类型。
javascript
// sample
this.animatorComp = this.gameobject.getComponent("Animator", 0);

setActive

javascript
public void setActive(boolean isActive);

设置该 GameObject 的是否活跃。

Parameter

  • isActive : boolean 是否活跃
javascript
// sample
this.gameobject.setActive(false);

Static Methods


InstantiateFromFile

javascript
public static Insight.GameObject InstantiateFromFile(string sceneFile);

从本地磁盘文件中读取一个场景,挂在场景根结点下面。

一般用于动态加载场景。

Parameter

  • sceneFile : string 场景文件相对路径(以 Assets 文件夹为根目录)

InstantiateFromFile

javascript
public static Insight.GameObject InstantiateFromFile(string sceneFile, Insight.Transform parent);

从本地磁盘文件中读取一个场景,挂在指定父结点下面。

一般用于动态加载场景。

Parameter

  • sceneFile : string 场景文件相对路径(以 Assets 文件夹为根目录)
  • parent : Insight.Transform 父结点的 transform
javascript
// sample
this.root = Insight.GameObject.Find("Root").transform;
var path = "Assets/Res/_Scenes/newScene.res";
var child = Insight.GameObject.InstantiateFromFile( path, this.root );

Instantiate (仅 Unity 使用)

javascript
public static Insight.GameObject Instantiate(Insight.GameObject game_object);

从 GameObject 中读取一个场景,挂在场景根结点下面。

一般用于动态加载场景。

Parameter

  • game_object : Insight.GameObject 要加载的 GameObject

Instantiate (仅 Unity 使用)

javascript
public static Insight.GameObject Instantiate(Insight.GameObject game_object, Insight.Transform parent);

从 GameObject 中读取一个场景,挂在指定父结点下面。

一般用于动态加载场景。

Parameter

  • game_object : Insight.GameObject 要加载的 GameObjec
  • parent : Insight.Transform 父结点的 transform

Destroy

javascript
public static void Destroy(Insight.GameObject gameobject);

销毁一个 GameObject。

Parameter

  • gameobject : string 要销毁的 GameObject
javascript
// sample
this.model = Insight.GameObject.Find("Model");
Insight.GameObject.Destroy(this.model);

Find

javascript
public static Insight.GameObject Find(string name);

根据名字查找 GameObject。

Parameter

  • name : string GameObject 的名称
javascript
// sample
this.model = Insight.GameObject.Find("Model");