测试-关于Unity获取子层级内容的几种接口(Transform FindChild, Component GetComponentInChildren,...)

测试常用的层级内组件查找接口,但一些需求还是需要扩展

比如按照名称批量查找节点,查找接口对象等

1.transform.Find(string name)

可以直接根据名称搜索到子层级节点和孙节点等,支持非激活的节点,但不能批量搜索

不支持搜索自身

var bTransform = transform.Find("a/b");
Debug.Log(bTransform);

2.FindChild(string name)

可以搜索到子节点,但不支持孙节点,曾孙节点等。支持非激活的节点

不支持搜索自身,出场率很低

var aTaransform = transform.FindChild("a");
Debug.Log(aTransform);

3.T GetComponentInChildren<T>(bool includeInactive)

支持深度搜索,而不是只搜索下一层级。

如果自身存在这个组件,可返回自身

如果是非激活的对象,第二个参数includeInactive设为true即可搜索到

但缺点是只能搜索组件,不能按照名称搜索

GetComponentInParent规则同此条

时间: 2024-08-13 20:54:18

测试-关于Unity获取子层级内容的几种接口(Transform FindChild, Component GetComponentInChildren,...)的相关文章

在Windows及Linux下获取毫秒级运行时间的方法

在Windows下获取毫秒级运行时间的方法 头文件:<Windows.h> 函数原型: /*获取时钟频率,保存在结构LARGE_INTEGER中***/ WINBASEAPI BOOL WINAPI QueryPerformanceFrequency( _Out_ LARGE_INTEGER * lpFrequency ); /*获取从某个时间点开始的时钟周期数,保存在结构LARGE_INTEGER中**/ WINBASEAPI BOOL WINAPI QueryPerformanceFreq

转:iframe加载的子页面里面获取父级元素窗口以及元素的高度

iframe里的js要操作父级窗口的dom,必须搞懂几个对象: parent是父窗口(如果窗口是顶级窗口,那么parent==self==top) top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe) self是当前窗口(等价window) 父级页面:index.html <!doctype html> <html> <head> <meta charset="utf-8"> <title>父窗口<

Qt获取office文件内容

Qt获取office文件内容 需要获取word文件的文件内容.网上找了好久,大部分都是excel的.而word的很少.所以在这里记录一下,方便大家查阅和自己使用. 使用的Qt版本是5.4.2 . 下面通过代码说明: 首先在.pro文件中加入 QT       += axcontainer 需要加入以下头文件 #include <QAxWidget> #include <QAxObject> 详细代码如下 void Qt_word(QString filePath) { //指定要打

JS:二维数组排序和获取子级元素

JS:二维数组排序和获取子级元素 1. 二维数组排序 1.按数值排序 1 var arr = [[1, 2, 3], [7, 2, 3], [3, 2, 3]]; 如果我们要按每个子数组的第一列来排序要如何做呢,我们可以定义一个比较函数: 1 arr.sort(function(x, y){ 2 return x[0] – y[0]; 3 }); 这里的比较函数的作用是什么呢?其实是数组依次将数组元素复制给x,y,比如首先将arr[0]赋给x,arr[1]赋给y,然后用x[0] – y[0],根

ifarme获取父级元素

js写法 a.同过contentWindow获取 也有用contentDocument 获取的 但是contentWindow 兼容各个浏览器,可取得子窗口的 window 对象.contentDocument Firefox 支持,> ie8 的ie支持.可取得子窗口的 document 对象. 获取方法 [html] view plaincopyprint? var frameWin=document.getElementById('iframe').contentWindow;    //

js获取iframe中的元素以及在iframe中获取父级的元素(包括iframe中不存在name和id的情况)

第一种情况:iframe中不存在name和id的方法:(通过contentWindow获取) var iframe = document.getElementsByTagName('iframe')[0];var ifr_document = iframe.contentWindow.document;//iframe中的文档内容 或者: var _iframe = document.getElementByIdx_x('iframeId').contentWindow; var _div =_

vc获取剪贴板文本内容

前言: 本文目前仅限于获取和设置剪贴板的文本内容,还未涉及到图片等资源: 示例: 一:设置剪贴板文本内容(支持一般符号,特殊符号未测试) bool SetClipBoardText(LPCSTR text,HWND hWnd) { ASSERT(hWnd); //打开剪贴板 if ( !::OpenClipboard(hWnd) ) return false; //如果剪贴板有内容则关闭剪贴板 if ( !EmptyClipboard() ) { CloseClipboard(); return

unity基础开发----Unity获取PC,Ios系统的mac地址等信息

在软件开发中可以会用到mac地址作为,设备的唯一标示,我们也可以通过unity获取,经测试pc,ios都可以但是安卓没有获取到. 代码如下: using UnityEngine; using System.Collections; using System.Net.NetworkInformation; public class NetWorkInfo : MonoBehaviour { void Start() { Debug.Log(GetMacAddress()); } public st

jquery选择器如何获取父级元素、同级元素、子元素

一.新建页面 1 <ul> 2 <li>list item 1</li> 3 <li>list item 2</li> 4 <li class="third-item">list item 3</li> 5 <li>list item 4</li> 6 <li>list item 5</li> 7 </ul> 8 9 <p>Hell