对象引用效率

时间:2019-05-12 17:21:15

标签: c# performance unity3d game-development

我有一个UI脚本,需要大约25个各种对象的引用。最初,我花了一段时间使检查员清晰易读,井井有条,以便可以轻松地将对象拖放到位。加班时,我厌倦了看到一些冗长的清单不断使我的检查员挤占UI管理器。因此,我决定通过使用transform.GetChild()从我的start方法中获取游戏对象。还有一些对象使用transform.GetChild()。GetChild()

我只是想知道这是否是不好的做法?这些对象不会在层次结构中重新排列,所以我认为这还可以,但是对性能不利吗?大概有60行代码除了捕获游戏对象外什么也不做,所以这就是为什么我问

1 个答案:

答案 0 :(得分:0)

我通常在类似问题上使用GetChild。虽然,我最近发现Monobehaviour有一种方法:

Void Reset()
{
    _nameInputField = transform.Getchild(0).GetChild(1).GetComponent<InputField>();
}

,只有在单击组件的齿轮上下文菜单中的“重置”(添加的图片)时,才在编辑器中调用该

。 因此您实际上不必在运行时执行此操作。 (为安全起见,我会在Awake方法中添加相同的代码,但仅在检查是否为null后才调用它。)enter image description here