zoukankan      html  css  js  c++  java
  • Unity3D学习笔记——递归+非递归遍历GameObject的子物体

      在Unity3D中没有提供直接的方法获取某个GameObject的子GameObject,但是所有的GameObject都有transform对象,所以,一般是通过获取子GameObject的transform来达到遍历子GameObject的目的。官网手册中“Transform”页面给出了如下示例代码:

     1 using UnityEngine;
     2 using System.Collections;
     3 
     4 public class example : MonoBehaviour {
     5     void Example() {
     6         foreach (Transform child in transform) {
     7             child.position += Vector3.up * 10.0F;
     8         }
     9     }
    10 }

      但是,这段代码只能遍历该GameObject的直接子GameObject,而要遍历该GameObject的所有子GameObject,则需要进行递归:

     1 using UnityEngine;
     2 using System.Collections;
     3 
     4 public class example: MonoBehaviour {
     5     void Example() {
     6         Recursive(gameObject);
     7     }
     8     
     9     private void Recursive(GameObject parentGameObject){
    10         //Do something you want
    11         //......
    12         foreach (Transform child in parentGameObject.transform){
    13             Recursive(child.gameObject);
    14         }
    15     }                                                        
    16 }    
  • 相关阅读:
    第六周
    第五周
    第四周
    第二周学习记录
    实验一 Linux初步认识
    java实验四
    java实验三
    为什么无密码认证能够有效
    关于父元素,子元素,同级元素的DOM操作技巧
    高效设计构建软件的十三条建议
  • 原文地址:https://www.cnblogs.com/wangchengfeng/p/3664895.html
Copyright © 2011-2022 走看看