一、Unity3D中[SerializeField]特性的使用
凡事显示在Inspector中的属性都同时具有Serialize功能(序列化的意思是再次读取Unity时序列化的变量是有值的,无需再赋值)
1. public变量
此变量在unity中默认是可以被Serialize的。
2.private变量
[SerializeField] private float A //可使A变量再面板可见
二、RequireComponent的使用
添加的一个用了RequireComponent组件的脚本,需要的组件将会自动被添加到game object(游戏物体)
[RequireComponent(typeof(Rigidbody))]
三、[ExecuteInEditMode]的使用
声明当前类,是在编辑态模式下也能执行脚本。
与PlayMode不同的是,函数并不会不停的执行。
Update : 只有当场景中的某个物体发生变化时,才调用。
OnGUI : 当GameView接收到一个Event时才调用。
OnRenderObject 和其他的渲染回调函数 : SceneVidw或者GameView重绘时,调用。
[ExecuteInEditMode]
public class Example : MonoBehaviour {
public Transform target;
void Update() {
if (target)
transform.LookAt(target);
}
}
Awake:加载时调用。
Start:第一次激活时调用。
四、[Obsolete] 声明变量或者类为弃用的
[Obsolete("Class A has been deprecated. Use Class B instead.", false)]
class A{ }
Class B{ }