Unity获取游戏对象

GameObject.Find()

通过场景里面的名子或者一个路径直接获取游戏对象。
GameObject root = GameObject.Find(“GameObject”);

我觉得如果游戏对象没再最上层,那么最好使用路径的方法,因为有可能你的游戏对象会有重名的情况,路径用“/”符号隔开即可。
GameObject root = GameObject.Find(“GameObject/Cube”);

GameObject.Find()使用起来很方便,但是它有个缺陷,就是如果你的这个GameObject天生acive = false的话。那么你用GameObject.Find()是永远也无法获取它的对象的。如果对象都获取不到,那么对象身上脚本啊 组件啊都是获取不到的,变成了没有意义的对象。而且不建议把GameObject.Find()这个方法放在update等循环调用的方法里进行查找判断,每find一次就会扩充内存,程序会炸掉的。BOOM!!~~~

猜你喜欢

转载自blog.csdn.net/qq_25325511/article/details/50418360