Unity删除所有子物体保留父物体的2种方式
来源:互联网 发布:python 拉钩 源代码 编辑:程序博客网 时间:2024/06/06 04:37
销毁所有子物体所用的时间,基本相同
方法一:找到所有子物体,依次销毁
using UnityEngine; using System.Collections; /// <summary> /// 脚本位置:将此脚本挂载到父物体A身上 /// 脚本功能:用于测试销毁所有子物体 /// </summary> public class Parent : MonoBehaviour { void Start () { for (int i = 0; i < transform.childCount; i++) { Destroy (transform.GetChild (i).gameObject); } } }
方法二:给每个子物体添加一个自我销毁的方法,在满足特定条件的情况下发送广播
using UnityEngine; using System.Collections; /// <summary> /// 脚本位置:将此脚本挂载到父物体A身上 /// 脚本功能:发送广播给自己和自己的所有子物体 /// </summary> public class Parent : MonoBehaviour { void Start () { // 执行Start方法后会发送一个广播 // 广播会从自身开始查找这个DestoryMe方法,查找完自身后会查找所有子物体 BroadcastMessage ("DestoryMe"); } }
using UnityEngine; using System.Collections; /// <summary> /// 脚本位置:每个需要被销毁的子物体身上 /// 脚本功能:销毁自身 /// </summary> public class Son : MonoBehaviour { // 作为被广播通知的方法,由父物体通知执行 public void DestoryMe () { Destroy (gameObject); } }
总结:这两种方法本质上都是遍历,
第二种广播方法的方法也是遍历,但会从自身开始遍历
所以说,第二种方法会比第一种方法多遍历1次。
阅读全文
0 0
- 【Unity】删除所有子物体保留父物体的2种方式
- Unity删除所有子物体保留父物体的2种方式
- 删除所有子物体保留父物体的2种方式
- unity 删除子物体
- 遍历父物体下所有子物体的几种方式
- 遍历父物体下所有子物体的几种方式
- unity获取物体下的所有子物体
- Unity通过父物体找到所有子物体
- 删除所有子物体的bug
- 在Unity中获得一个物体的所有子物体包括孙物体。
- Unity3D清除父物体下的所有子物体
- Unity 获取所有子物体,不包括孙物体
- unity中如何获取所有子物体的组件
- 控制unity对象下所有子物体的显示状态
- unity 动态改变所有子物体的shader
- Unity中遍历所有子物体
- 【新手学习笔记】我总结的unity遍历所有子物体的两种简单方法
- 删除添加子父物体动态添加代码等Unity的小功能
- Unity3D开启协程倒计时
- Python学习笔记——作用域
- unity meta文件
- 文件的基本操作---复制/移动或删除文件
- 【POJ】3268
- Unity删除所有子物体保留父物体的2种方式
- 理解 Linux 中的 关机命令
- There are inconsistent line endings in the 'xxx' script. Some are Mac OS X (UNIX) and some are Windows
- unity3d 获取系统硬件信息
- C# 中获取CPU序列号/网卡mac地址
- C#窗口居中显示
- Hibernate一对一,一对多,多对多
- 将Vuforia程序发布到Windows10系统的基本流程
- C#窗口隐藏/关闭/居中