• 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 }    
  • 相关阅读:
    Fiddler——基本常识
    Fiddler——抓包工具的使用
    Angular——单页面实例
    Angular——路由参数
    Angular——单页面与路由的使用
    Angular——配置模块与运行模块
    Angular——自定义服务
    Angular——$http
    Angular——内置服务
    Angular——依赖注入
  • 原文地址:https://www.cnblogs.com/wangchengfeng/p/3664895.html
Copyright © 2020-2023  润新知