SetActive()统一

时间:2014-02-07 12:16:02

标签: c# variables object unity3d

我刚看到Unity3D中的一个警告说使用

this.gameObject.active = BackdropVisible;

已过时。

  • 警告CS0618:`UnityEngine.GameObject.active'已过时:
  • `GameObject.active已过时。
  • 使用GameObject.SetActive(),GameObject.activeSelf或GameObject.activeInHierarchy。'

我昨天只写了它,但显然现在是旧闻;)

但是,设置

this.gameObject.SetActive(true);

工作正常;但是

this.GameObject.SetActive(true);

没有。差异是大写“G” - 在错误消息中使用

任何人都可以清除混乱吗? (我昨天刚开始使用c#)我猜测小写版本是一​​个变量,文档中的那个是一个对象;但对于未经训练的眼睛,他们是同一件事。显然他们不是。

1 个答案:

答案 0 :(得分:7)

带有大写字母G的

GameObject类类型,并产生编译器错误,因为在该上下文中没有意义。

this.gameObjectMonoBehaviors成员字段,引用了脚本附加到的GO的GameObject实例。