B站Unity学习笔记
链接:https://www.bilibili.com/video/BV12s411g7gU
常用API
- Compnent
- Transform
- GameObject
- Time
- Object
常用组件
Compnent
- 常用属性:gameObject、transform、renderer、collider……
- 常用方法:GetCompnent、GetCompnentInChildren、GetCompnentsInChildren、GetCompnentInParent……
静态方法
public class ComponentDemo : MonoBehaviour
{
private void OnGUI()
{
if (GUILayout.Button("GetCompnent"))
{
this.GetComponent<MeshRenderer>().material.color = Color.blue;
}
if (GUILayout.Button("GetCompnents"))
{
//获取当前物体所有组件
var allCompnent = this.GetComponents<Component>();
foreach(var item in allCompnent)
{
print(item.GetType());
}
}
if (GUILayout.Button("GetCompnentsInChildren"))
{
//获取后代物体的指定类型组件(从自身开始)
var allCompnent = this.GetComponentsInChildren<MeshRenderer>();
foreach (var item in allCompnent)
{
item.material.color = Color.black;
}
}
if (GUILayout.Button("GetCompnentsInParent"))
{
//获取后代物体的指定类型组件(从自身开始)
var allCompnent = this.GetComponentsInParent<MeshRenderer>();
foreach (var item in allCompnent)
{
item.material.color = Color.cyan;
}
}
}
}
Transfofrm
场景中的每一个对象都有一个Transform。用于储存并操控物体的位置、旋转和缩放。
- 常用属性:position、localPosition、parent、forward……
- 常用方法:Translate、Rotate、TransformPoint、Find……
变量
方法
public class TransformDemo : MonoBehaviour
{
private void OnGUI()
{
if(GUILayout.Button("foreach -- transform"))
{
foreach(Transform child in this.transform)
{
//child 为 每个子物体的变换组件
print(child.name);
}
}
if (GUILayout.Button("Root"))
{
//获取根物体变换组件
Transform rootTF = this.transform.root;
}
if (GUILayout.Button("parent")