方法一:
在脚本中public一个量,然后在编辑器把相应的prefab拖过来
这种方法灵活但也混乱
方法二:
动态加载,Assets目录下创建一个名为Resources的文件夹,通过Resources.Load(path)加载该文件加载该文件下的资源
如
(GameObject)Resources.Load("Prefab/Tile", typeof(GameObject))
就是加载Resources/Prefab下名为Tile的对象
注意:路径名使用正斜杠“/”,如果使用反斜杠“\”会不正常运行
即便不在Resources下的文件一样可以加载
如
Resources.LoadAssetAtPath("Assets/Prefabs/Cube.prefab", typeof(GameObject));
可以加载Assets目录下文件
这种方法不允许更改文件目录结构,否则错误难以控制
方法三
查找游戏内的物体
//查找指定对象的子物体
GameObject go;
//返回TransfTransform[]
go.GetComponentsInChildren(typeof(Transform), true);
//遍历场景中所有物体,获取泛型T类型物体
object[] gameObjects;
gameObjects = GameObject.FindSceneObjectsOfType(typeof(Transform));