Unity3D获取物体的所有子物体对象(child)

开始是找了下U3D的SCRIPT手册,发现找不到这玩意。然后在谷歌搜"unity3d get all child"才找到了答案。很简单的答案,不过挺有意思的,挺好用。

foreach (Transform child in transform)

{

Debug.Log(child.gameObject.name);

}

transform是你所需要找的物体gameobject的transform。这个for循环就相当于遍历了它的子对象,此时你只要做的是将一个个放进个数组里面就行了。想过滤掉一些子物体在循环里面写一下也就OK了。

删除所有子物体的话:

foreach(Transform child in transform){

Destroy(child.gameObject);

}

忘了是什么时候,以前是不可以这样删的,不过现在可以了。

2014.1.3添加:

遍历删除的方法好像是不可以的,还是要将它储存到一个LIST里面一个个去删。貌似有的情况可以有的不可以,很奇怪。

转自:http://www.360doc.com/content/16/0531/23/33879684_564041693.shtml

时间: 2024-07-31 14:13:17

Unity3D获取物体的所有子物体对象(child)的相关文章

unity3d 摄像机跟随角色时被物体遮挡解决方案

参考文章:http://www.xuanyusong.com/archives/1991 在看此文章时请先看上面的参考文章 看完以上文章后,你也许会想人家都已经给出所有代码了,你还写个毛啊 别急,现在进入主题 在我的项目中,我采用的是物体遮挡作半透明处理,如果按照上述文章中的思路来写代码的话,那么结果就是当多个物体遮挡角色时,只有第一个物体会半透明,如图: 角色被墙和屋顶遮挡住了,但是可以清楚的看见左下角的墙呈半透明状态,而屋顶依旧不透明 为了解决这个问题,我们不采用上述文章中的 physics

unity3d 获取游戏对象详解

原文地址:http://www.xuanyusong.com/archives/2768 我觉得Unity里面的Transform 和 GameObject就像两个双胞胎兄弟一样,这俩哥们很要好,我能直接找到你,你也能直接找到我.我看很多人喜欢在类里面去保存GameObject对象.解决GameObject.Find()无法获取天生activie = false的问题.     private GameObject root ; 我觉得你最好不要保存GameObject ,而是去保存Transf

保存物体下的子物体信息到Xml 里面

<新手上路>(保存物体下的子物体信息到Xml 里面) 2016-12-20 根据个人特殊需要所写 using UnityEngine;using System.Collections;using UnityEngine.UI;using System.IO;using System.Xml;using System.Collections.Generic;using UnityEditor; public class SaveMapCtr { [MenuItem("Tools/Cre

IE10、Chrome获取触发事件节点的源对象

记录学习JavaScript中遇到的知识点 1.IE中获取触发事件节点的源对象是通过属性srcElement,而Chrome则是以属性tagName获得.以如下函数getEventTarget(e)实现源对象的获取. 1 <script tyoe="text/JavaScript"> 2 //获取触发事件节点的源对象 3 function getEventTarget(e){ 4 e=window.event || e; 5 return e.srcElement || e

SCRIPT5007:无法获取属性“show”的值,对象为null或未定义

1.错误描述 SCRIPT5007:无法获取属性"show"的值,对象为null或未定义            dojo.js,行15.字符11808 2.错误原因    require(["dijit/registry"],function(registry){        registry.byId("id").show();    }); 3.解决办法 SCRIPT5007:无法获取属性"show"的值,对象为null

[WPF] 动画Completed事件里获取执行该动画的UI对象

原文:[WPF] 动画Completed事件里获取执行该动画的UI对象 昨天群里有位童鞋提出如何在动画完成事件Completed里获取到执行该动画的UI对象. WPF里动画的Completed的本身并不会返回执行动画的UI对象,但我们可以利用附加属性Storyboard.TargetProperty来达到我们想要的效果. 步骤: 1 在执行动画前,先附加属性记录对象 DoubleAnimation ani = new DoubleAnimation(); ani.From = start; an

jquery 中获取input指定name的标签对象

jquery 中获取input指定name的标签对象,用$("input[name^='?????']"); 这里name^='?????'中的 ^ 什么用? 表示name的值是以???开头的元素 比如$("input[name^='hi']")就会选择以下的元素<input type ="text" name ="hiworld" / > ^开头表示 name 以 ?????开头的 类似的还有$ 结尾* 包含!

获取JDK动态代理/CGLIB代理对象代理的目标对象。

问题描述:: 我现在遇到个棘手的问题,要通过spring托管的service类保存对象,这个类是通过反射拿到的,经过实验发现这个类只能反射取得sservice实现了接口的方法,而extends类的方法一律不出现,debug后发现这个servie实例被spring替换成jdkdynmicproxy类,而不是原始对象了,,它里面只有service继承的接口方法,而没有extends 过的super class方法,怎么调用原生对象的方法!!!!! 用托管的spring service类调用getCl

JQuery捕获或获取当前click事件的事件对象ID

直接上代码: $(".photoImage").click(function(){ var imageId = $(this).attr("id"); console.log(imageId); }); JQuery捕获或获取当前click事件的事件对象ID