29606人加入学习
(126人评价)
Unity API常用方法和类详细讲解(基于Unity5.6)
价格 免费
承诺服务

SendMessage到底有什么用?

感觉没讲清楚,就一笔带过了

[展开全文]

                      得到组件的各种方法

1、GetComponent<>();

2、GetComponents<>();——得到该物体下面的所有该组件

3、GetComponentsInChildern<>();——得到它的所有子物体和自身的该组件

4、GetComponentsInParent<>();——得到它父物体的该组件和它自身的该组件

[展开全文]

component和GameObject方法一样但没有放在基类中

getComponentInChildren 得到组件,多个相同组件,只得到第一个

getComponentsInChildren 得到所有组件 包括自己与子组件)

getComponentInParent

getComponentsInParent 

[展开全文]

得到组件的各种方法函数

public class GetComponentCS : MonoBehaviour {
	public GameObject target;
	// Use this for initialization
	void Start () {
		Cube cube = target.GetComponent<Cube>();//得到Cube组件
		Transform t = target.GetComponent<Transform>();//得到Transform组件
		Debug.Log(cube);//输出
		Debug.Log(t);
		Debug.Log("--------------------------");

		Cube[] cubes = target.GetComponents<Cube>();//得到target上所有的Cube组件
		Debug.Log(cubes.Length);//输出长度
		Debug.Log("--------------------------");

		cubes = target.GetComponentsInChildren<Cube>();//得到target的所有的孩子以及其自身上的Cube组件
		foreach (Cube c  in cubes)
		{
			Debug.Log(c);
		}
		Debug.Log("--------------------------");

		cubes = target.GetComponentsInParent<Cube>();//得到target的所有的孩子以及其自身上的Cube组件
		foreach (Cube c in cubes)
		{
			Debug.Log(c);
		}
		Debug.Log("--------------------------");
	}
	
	// Update is called once per frame
	
}

[展开全文]

与组件获得有关

GetComponent 根据类型得到游戏物体的组件 有多个组件时只会返回得到一个

GetComponentInChildren 根据类型得到游戏物体某个组件的子物体 有多个子物体时只会返回一个子物体

GetComponentInParent 根据类型得到游戏物体某个组件的父物体,有多个父物体时只返回一个父物体

GetComponets得到游戏物体上的所有组件

GetComponentsInChildren得到游戏物体组件上所有的子物体

GetComponentsInParent得到游戏物体组件上所有的父物体

 

[展开全文]

得到组件的方法函数

target .GetComponent<>();

target.GetComponents<>();

GetCompontnetInChildren

GetComponentSInChildren游戏物体自身以及孩子们

GetComponentInParent

GetComponintsInParent<>所有父亲身上的指定组件

[展开全文]

GetComponent:得到游戏物体身上的组件,如果有多个得到第一个;

GetComponents:得到游戏物体身上的所有组件;

GetComponentInChildren;得到游戏物体身上的(包括它的孩子)组件,如果有多个得到第一个;

GetComponentsInChildren:得到游戏物体身上的(包括它的孩子)所有组件;

GetComponentInParent;得到游戏物体身上的(包括它的父亲)组件,如果有多个得到第一个;

GetComponentsInParent;得到游戏物体身上的(包括它的父亲)所有组件;

[展开全文]

GetComponentInChildren和GetComponentInParent是获得包括自身的组件

[展开全文]

得到组件各种方法函数:

GetComponent<组件类型>();

GetCompoents<组件类型>();

GetCompoentsInChilren<组件类型>();

GetComponentsInChildren<组件类型>();

GetComponentInParent<组件类型>();

GetCompoentsInParent<组件类型>();

[展开全文]

1.创建游戏物体f的三种方法
new GameObject();括号里可以添加想要创建的物体类型例如
new GameObject("Cube");创建出一个正方体
GameObject.Instantiate();
实例化Prefabs或实例化游戏物体
GameObject.CreatePrimitive();
创建原始图形如:.GameObject.CreatePrimitive(PrimitiveType.Cube);
2.通过代码给游戏物体添加组件
 private GameObject object;
object.AddComponent<Rigidbody>();
通过代码给游戏物体j添加脚本
object.AddComponent<脚本名>();
3.GameObject游戏物体的常用类
GameObject.activeInHierarchy 物体是否处于激活状态(包括自身及子物体)
4.UnityEngine下Object的静态方法
Object.Destroy:
Destroy(gameobject,time);
Object.DontDestroyOnLoad:
DontDestroyOnLoad(transform.gameObject);
(在进行场景之间转换时不会被销毁,会被带到下一个场景中)
Object.FindObjectOfType:
Object   a =FindObjectOfType(typeof(组件名))
Rigidbody  a=FindObjectOfType<Rigidbody>();
只返回第一个被检测到含有此组件的物体。不查找未激活的游戏物体
Object.FindObjectsOfType:
Object   a =FindObjectsOfType(typeof(组件名))
Rigidbody a=FindObjectsOfType<Rigidbody>();
将检测到的所有的含有此组件的物体都存在数组中。不查找未激活的游戏物体
5.查找方法
Find(比较耗费性能)
FindGameObjectsWithTag返回所有是次标签的物体返回数组
FindWithTag只返回第一个检测到的物体。
6.游戏物体间消息的发送和接收
GameObject.BroadcastMessage();包括其自身及其子物体
GameObject.SendMessage(); 不包括子物体
GameObject.SendMessageUpwards();包括其自身及其父物体
7.得到组件的各种方法函数

GetComponent;只会得到在游戏物体身上的第一个检测到的组件

GetComponent;会得到物体上所有的组件

GetComponentInChildren;会得到其自身及其子物体身上第一个检测到的相应的组件检测到的

GetComponentInParent;会得到其自身及其父物体身上第一个检测到的相应的组件检测到的

GetComponentsInChildren;会得到其自身及其子物体身上所有检测到的相应的组件检测到的

GetComponentsInParent;会得到其自身及其子物体身上所有检测到的相应的组件检测到的

[展开全文]