我有一个很大的困惑,我希望有人能给我一些建议:)
在性能方面,为了找到一个游戏对象,有什么更“便宜”的方法?
1)
public GameObject myGO;
2)
GameObject myGO = this.transform.parent.GetChild(0).GetChild(0).gameObject;
3)
GameObject myGO = GameObject.Find("myObject")
最佳答案
1 是最快的,因为您的变量中已经有了引用。无需计算。
在 2 中,您有几个引用重定向,速度很快。您还可以调用函数来获取第零项,这也应该足够快。我会说这是第二好的。
3、Unity在场景中的gameobjects中寻找名字。我不知道实现细节——除非他们在做某种散列,否则会有一些字符串比较。无论哪种方式,这感觉都是最慢的。
但是,除非您在一帧中执行 100 次这样的代码,否则您无需担心此类代码的效率。如果您想让您的游戏更高效,请多关注对象实例化。
关于performance - 找到游戏对象的更好(和更便宜)的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54476548/