【Unity】动态 实例化物体,添加/移除组件,修改子物体顺序 |
您所在的位置:网站首页 › unity获取某个子物体 › 【Unity】动态 实例化物体,添加/移除组件,修改子物体顺序 |
最近常用到一些基础的知识,在这里做一下总结,大大们请无视啦~ 1_代码创建物体 //创建空物体 GameObject newGo = new GameObject("NewObj"); //设置父物体 newGo.transform.parent = transform; //创建Unity内置预设(Capsule/Cube/Cylinder/Plane/Quad/Sphere),不常用到 GameObject newPrimitive = GameObject.CreatePrimitive(PrimitiveType.Sphere); //克隆原始物体并返回克隆物体 //会将Object实例化到场景中,可以是GameObject,也可以是Component(会实例化挂载Component的物体),脚本也属于Component哦 //Instantiate有多个重载,可以设置实例化对象的属性 GameObject newObj = Instantiate(newGo, transform);2_代码添加/获取/移除组件 之前知道只有添加组件,而没有移除组件的方法,后来才发现Destroy就可以实现移除,亲测有效~ //GameObject添加组件 newObj.AddComponent(); //移除组件,Destroy常用来销毁游戏对象,其实也可以用来销毁某个组件 newGo.AddComponent(); Destroy(newGo.GetComponent()); //获取组件 BoxCollider collider = newObj.GetComponent();3_代码修改子物体的顺序 //修改子物体顺序 GameObject newChild = new GameObject("newChild"); newChild.transform.SetAsFirstSibling(); newChild.transform.SetAsLastSibling(); newChild.transform.SetSiblingIndex(0);4_动态创建单例 //单例,脚本不需要事先挂载到场景,在游戏运行过程中,第一次用到该单例的时候,自动实例化到场景 static Script instance; public static Script Instance { get { if(instance == null) { instance = new GameObject("ScriptObj").AddComponent(); } return instance; } }本文来自博客园,作者:萧然CS,转载请注明原文链接:https://www.cnblogs.com/z-c-s/p/15112990.html |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |