【Unity3D】常用API学习笔记
1、MonoBehaviour类(UnityEngine命名空间中定义):
Awake:最开始调用,做一些初始化工作。建议少用,此刻物体可能还没有实例化出来,会影响程序执行顺序。
Start:不是很紧急的初始化,一般放在Start里面来做。仅在Update函数第一次被调用前调用。
Reset:用户点击检视面板的Reset按钮或者首次添加该组件时被调用。此函数只在编辑模式下被调用。Reset最常用于在检视面板中给定一个最常用的默认值。
Update:每一帧调用一次,帧间隔时间有可能改变。
FixedUpdate:以相同时间间隔调用,用在力学更新效果中。执行在Update之前。
LateUpdate:在Update和FixedUpdate调用之后调用。一般人物的移动放在Update中,而摄像机的跟进变化放到FixedUpdate中。确保两个独立,一前一后,不产生错误。
On开头的方法,是由其他事件触发调用的。
OnDestory:物体被删除时调用。
OnEnable:物体启用时被调用。
OnDisable:物体被禁用时调用。
OnGUI:这个函数会每帧调用好几次(每个事件一次),GUI显示函数只能在OnGUI中调用。
下图是单个脚本内部方法的调用顺序:
2、Input类:
getaxis、getkey、getbutton、getjoystick等函数。
3、Time类:
常用Time.deltaTime
在Update/LateUpdate中打印Time.deltaTime时间是不固定的,是一个动态变化值,是前两帧之间时间的差值。
在FixedUpdate中打印Time.deltaTime时间是固定的。
4、单例模式singleton:
单例仅允许被实例一次,这就保证了他在各个程序模块间的唯一性。
private static ModelLocator instance;
public static ModelLocator getInstance{
get{
if(instance==null){
instance=new ModelLocator();
}
return instance;
}
}
gameObject(g小写)代表当前脚本挂载的游戏对象本身。
GameObject(G大写)代表游戏对象类。
查找GO并赋值Find族函数:
private GameObject go;
go = GameObject.Find("Cu