unity transform 常用操作
1.寻找物体
1.1 寻找满足条件的子物体
` public static Transform FindObj(Transform transform, Func<Transform, bool> condition, bool isGrandsonObj = false)
{
Transform[] allChilds = transform.GetComponentsInRealChildren<Transform>(isGrandsonObj);
foreach (Transform child in allChilds)
{
if (condition(child))
{
return child;
}
}
return transform;
}
public static Transform FindObj(Transform transform, string tag, bool isGrandsonObj = false)
{
return FindObj(transform, (t) => t.tag.Equals(tag), isGrandsonObj);
}`
1.2 寻找一组满足条件的子物体
` public static List<Transform> FindObjs(Transform transform, Func<Transform, bool> condition, bool isGrandsonObj = false)
{
Transform[] allChilds = transform.GetComponentsInRealChildren<Transform>(isGrandsonObj);
List<Transform> list = new List<Transform>();
foreach (Transform child in allChilds)
{
if (condition(child))
{
list.Add(child);
}
}
return list;
}
public static List<Transform> FindObjs(Transform transform, string tag, bool isGrandsonObj = false)
{
return FindObjs(transform, (t) => t.tag.Equals(tag), isGrandsonObj);
}`
2. 操作一组物体
2.1 对一组满足条件物体进行操作
` public static void AddActionObjects(Transform[] transform, Func<Transform, bool> condition, Action<Transform> action)
{
foreach (Transform child in transform)
{
if (condition(child))
{
action(child);
}
}
}`
2.2 常用扩展方法
` public static void AddActionObjects(Transform[] transform, Action<Transform> action)
{
AddActionObjects(transform, (t) => true, action);
}
public static void AddActionObjects(Transform transform, Func<Transform, bool> condition, Action<Transform> action, bool isGrandsonObj = false)
{
Transform[] allChilds = transform.GetComponentsInChildren<Transform>(isGrandsonObj);
AddActionObjects(allChilds, condition, action);
}
public static void AddActionObjects(Transform transform, Action<Transform> action, bool isGrandsonObj = false)
{
AddActionObjects(transform, (t) => true, action, isGrandsonObj);
}
public static void AddActionObjects(Transform transform, string tag, Action<Transform> action, bool isGrandsonObj = false)
{
AddActionObjects(transform, (t) => t.tag.Equals(tag), action, isGrandsonObj);
}
`
unity transform 常用操作的更多相关文章
- Kotlin——初级篇(八):关于字符串(String)常用操作汇总
在前面讲解Kotlin数据类型的时候,提到了字符串类型,当然关于其定义在前面的章节中已经讲解过了.对Kotlin中的数据类型不清楚的同学.请参考Kotlin--初级篇(三):数据类型详解这篇文章. 在 ...
- Windows平台下MySQL常用操作与命令
Windows平台下MySQL常用操作与命令 Windows平台下MySQL常用操作与命令,学习mysql的朋友可以参考下. 1.导出整个数据库 mysqldump -u 用户名 -p --defau ...
- Kotlin——关于字符串(String)常用操作汇总
在前面讲解Kotlin数据类型的时候,提到了字符串类型,当然关于其定义在前面的章节中已经讲解过了.对Kotlin中的数据类型不清楚的同学.请参考Kotlin——初级篇(三):数据类型详解这篇文章. 在 ...
- 【三】用Markdown写blog的常用操作
本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...
- php模拟数据库常用操作效果
test.php <?php header("Content-type:text/html;charset='utf8'"); error_reporting(E_ALL); ...
- Mac OS X常用操作入门指南
前两天入手一个Macbook air,在装软件过程中摸索了一些基本操作,现就常用操作进行总结, 1关于触控板: 按下(不区分左右) =鼠标左键 control+按下 ...
- mysql常用操作语句
mysql常用操作语句 1.mysql -u root -p 2.mysql -h localhost -u root -p database_name 2.列出数据库: 1.show datab ...
- nodejs配置及cmd常用操作
一.cmd常用操作 1.返回根目录cd\ 2.返回上层目录cd .. 3.查找当前目录下的所有文件dir 4.查找下层目录cd window 二.nodejs配置 Node.js安装包及源码下载地址为 ...
- Oracle常用操作——创建表空间、临时表空间、创建表分区、创建索引、锁表处理
摘要:Oracle数据库的库表常用操作:创建与添加表空间.临时表空间.创建表分区.创建索引.锁表处理 1.表空间 ■ 详细查看表空间使用状况,包括总大小,使用空间,使用率,剩余空间 --详细查看表空 ...
随机推荐
- SpringCloud学习系列之六 ----- 路由网关Zuul基础使用教程
前言 在上篇中介绍了SpringCloud Config的完美使用版本,本篇则介绍基于SpringCloud(基于SpringBoot2.x,.SpringCloud Finchley版)中的路由网关 ...
- 为什么面试你要25K,HR只给你20K?
周末了,我们来聊个轻松的话题,关于涨薪,哈哈~ 前阵子,栈长给大家分享了<为什么公司宁愿 25K 重新招人,也不给你加到 20K?>,今天我们来聊一个差不多的话题: 为什么面试你要25K, ...
- sau交流学习社区--看小说的lovebook一个无线端BS应用
一.前言 loveBook爱上阅读,是一款webapp的读小说等书籍的并且阅读的应用.如果觉得可以,欢迎fork和star. 自己最近在追斗破苍穹电视剧,下班时候在地铁上总听到有人说,斗破苍穹书籍比电 ...
- c#命名规范汇总12条
前言 在刚学习c#的时候,在脑子根本就么有命名规范这个概念,有了一定入门的基础,也很难严格要求自己去规范代码的命名,工作后,发现自己的命名和其他人的命名总会有一些出入,总会闹出一些尴尬的笑话,这里汇总 ...
- itest 开源测试管理项目中封装的下拉列表小组件:实现下拉列表使用者前后端0行代码
导读: 主要从4个方面来阐述,1:背景:2:思路:3:代码实现:4:使用 一:封装背景 像easy ui 之类的纯前端组件,也有下拉列表组件,但是使用的时候,每个下拉列表,要配一个URL ...
- centos 修改hostname
centos修改主机名的正确方法 1 centos6下修改hostname [root@centos6 ~]$ hostname # 查看当前的hostnmae centos6.magedu.com ...
- Python爬虫入门教程 37-100 云沃客项目外包网数据爬虫 scrapy
爬前叨叨 2019年开始了,今年计划写一整年的博客呢~,第一篇博客写一下 一个外包网站的爬虫,万一你从这个外包网站弄点外快呢,呵呵哒 数据分析 官方网址为 https://www.clouderwor ...
- ASP.NET三层架构项目创建流程
1.进入VS2010,新建项目—>Visual C#—>Web—>ASP.NET空Web应用程序,如图所示: 2.在解决方案处右击—>新建项目—>Windows—> ...
- Java对字符串加密并返回星号※
If you don't look back, you'll never know I waiting for you behind you. Java对字符串加密并返回星号※ PasswordUt ...
- DataPipeline加入Linux基金会下OpenMessaging社区
近日,国内领先的“iPaaS+AI”一站式大数据融合服务提供商DataPipeline宣布加入Linux基金会旗下OpenMessaging开源社区,将与OpenMessaging开源社区其他成员阿里 ...