Unity GameObject.FindObjectOfType<>(); 按类型查找游戏对象
FindObjectOfType<>() 是按类型查找游戏对象.<>里面填写类型,那要是有多个这种类型的呢?来试一下.
1.
新建一个场景,新建一个Test.cs脚本,内容随便,再新建一个Test02.cs脚本,内容如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine; public class Test02 : MonoBehaviour { public Test test; // Use this for initialization
void Start () {
test = GameObject.FindObjectOfType<Test>();
} // Update is called once per frame
void Update () { }
}
2.
在场景中新建4个Cube,顺序打乱.
3.
把4个Cube弄成下图那样:

4.
把Test02挂到相机上,把Test挂到Cube01上运行,Main Camera 的inspector面板的Test02中Test显示的是Cube01;
再在Cube04上挂一个Test运行试一下,再在Cube03上挂一个Test运行试一下,再在Cube02上挂一个Test运行试一下,
此时共挂了4个,挂的顺序是01-04-03-02,可以看出来总是最后挂的那个被Test02脚本的FindObjectOfType找到.
5.
把Cube02取消激活再运行试一下,再把03取消激活试一下,再把04取消激活试一下.
可以发现系统好像有一个列表挂上Test的就加到列表里,列表里存着所有Test的激活的游戏对象,FindObjectOfType获得的是列表的最后一个,也就是最后一个挂上Test的游戏对象.,而不是任意获取一个.
系统内部具体怎么样不清楚,但根据测试来看好像是这么回事.
Unity GameObject.FindObjectOfType<>(); 按类型查找游戏对象的更多相关文章
- unity编辑器扩展_05(删除游戏对象并具有撤回功能)
代码: [MenuItem("Tools/Delete",false,1)] static void Delete() { GameObject[] go ...
- Unity让带有Rigidbody组件的游戏对象停止运动
Rigidbody rigidbody = transform.GetComponent<Rigidbody>(); rigidbody.velocity = Vector3.zero; ...
- 【Unity3D游戏开发】GameObject.Find()、Transform.Find查找隐藏对象 (十)
GameObjectFindTransformFind查找游戏对象 前置条件 相关API 1 GameObjectFind 2 TransformFind 3 其他查找 实际测试 即使隐藏root节点 ...
- Unity 游戏对象的组件列表
描述: 1 个游戏对象,上面有 4 个组件, 如图: 脚本 Test_01 的内容,如下: using System.Collections; using System.Collections.Gen ...
- Unity GameObject
GameObject 游戏对象 GameObject是unity所有实体的基类 gameObject 获取当前脚本所挂载的游戏对象 一般来说,在属性视图中能看到或修改的属性,我们同样可以在脚本中获取并 ...
- [转] Draw Call未被批处理?告诉你在Unity 5.6中如何查找原因 [复制链接]
Unity在5.6之前的版本中并未提供很直接的方式来查找Draw Call未被批处理的原因,但Unity 5.6在Frame Debugger中新增了一项功能,帮助开发者查找相关信息.今天这篇文章就为 ...
- U3D操作游戏对象
游戏对象:所有出现在场景中的实体都是游戏对象. 一.创建游戏对象 创建游戏对象有两种方式:一是通过在unity中创建模型,而是通过脚本动态创建游戏对象.通过脚本动态创建的灵活性较高,重点也在于通过脚本 ...
- Unity3d 如何找到游戏对象并改变其颜色
//游戏对象 private var obj:GameObject; //渲染器 private var render:Renderer; //贴图 private var texture:Textu ...
- Unity关于获取游戏对象
我觉得Unity里面的Transform 和 GameObject就像两个双胞胎兄弟一样,这俩哥们很要好,我能直接找到你,你也能直接找到我.我看很多人喜欢在类里面去保存GameObject对象.解决G ...
随机推荐
- Struts2 引入
引入: 说:如果一个路径想访问一个类,需求怎么做? 第一种方法,用servlet 第二种方法,用过滤器 第三种方法如下图:把路径和方法都存到map里面,用反射可以执行类下的方法 第三中方法 ...
- 树莓派(Raspberry Pi 3) 使用wifi模块连接网络
树莓派3B内置了wifi和蓝牙模块,启动WIFI模块有两种方式,一种是图形界面,一种是命令行模式. 使用图形界面: 在桌面右上角的菜单栏里面选择wifi,输入密码就可以了. 使用命令行: 第一步:配置 ...
- python 爬虫之requests+日志+配置文件读取+mysql入库
#!/usr/bin/env python # -*- coding: utf-8 -*- # 日志管理 import logging import sys reload(sys) sys.setde ...
- 基于DEV控件库的webservice打印.repx模板
本文使用的DEV版本为10.1版本 首先需要添加Dll引用 DevExpress.Data.v10.1 DevExpress.XtraPrinting.v10.1 DevExpress.XtraRep ...
- JetBrains WebStorm 如何从GitHub上克隆的代码
工作中经常会遇到要从GitHub上拉代码,详细操作记录如下: 绑定账号 1.File->Settings->Version Control->Github 成功后会出现下面的这个账户 ...
- gRPC官方文档(安全认证)
文章来自gRPC 官方文档中文版 认证 gRPC 被设计成可以利用插件的形式支持多种授权机制.本文档对多种支持的授权机制提供了一个概览,并且用例子来论述对应API,最后就其扩展性作了讨论. 马上将会推 ...
- ubuntu - 14.04,安装rpm程序!!
一,安装rpm转deb的工具“alien”:在软件中心里面输入“alien”,看是否已经安装,如果没有安装则直接安装. 二,把rpm转换为deb:在shell里输入“sudo alien --scri ...
- P1505 [国家集训队]旅游
\(\color{#0066ff}{题 目 描 述}\) Ray 乐忠于旅游,这次他来到了T 城.T 城是一个水上城市,一共有 N 个景点,有些景点之间会用一座桥连接.为了方便游客到达每个景点但又为了 ...
- 10.8 wtx模拟题题解
填坑 orz w_x_c_q w_x_c_q的模拟赛(150pts,炸了) money 题目背景: 王小呆又陷入自己的梦里.(活在梦里...) 题目描述: 王小呆是一个有梦想的小菜鸡,那就是赚好多好多 ...
- freemarker常用标签解释三
1 date,time,datetime 日期,时间,时间日期 <#assign test1 = "10/25/1995"?date("MM/dd/yyyy&quo ...