纳金网

标题: MonoBehaviour学习笔记(转载) [打印本页]

作者: 狂风大尉    时间: 2014-10-28 02:17
标题: MonoBehaviour学习笔记(转载)
MonoBehaviour基本函数使用方法(按调用顺序排布):

Awake:当一个脚本实例被载入时Awake被调用
Start:Start仅在Update函数第一次被调用前调用
FixedUpdate:固定间隔时间调用,一般用于更新物理状态

              在固定的时间间隔执行,不受游戏帧率影响。所以处理Rigidbody的时候最好用FIxedUpdate。
              修改:Edit -> Project Setting -> time 修改Fixed timestop值

Update:每帧执行,一般用于更新场景和状态
              在每次渲染新的一帧的时候调用,更新频率和设备的性能有关以及被渲染的物体(可认为是三角形的数量)。所以不同机器上效果不一致,Update执行间隔也不一样。

LateUpdate:每帧执行,在Update之后,一般用于更新摄像机状态

:①FixedUpdate和Update具体执行的先后顺序是不确定的。
       ②以上的几个函数是分批次执行的,所有脚本的一个批次执行完了才执行下一批次函数。
          如:所有脚本Awake执行完了,才执行Start。所有脚本Update执行完了,才执行LateUpdate。
       ③继承自MonoBehaviour的类,不需要自己创建它的实例,也不能自己创建(如new类名),unityhi自动创建实例,并且调用被重载的函数。

          普通类,可以用new来创建实例。

延迟调用函数:
Invoke 【函数名,延迟调用时间s】 根据指定时间后调用指定函数
InvokeRepeating 【函数名,延迟调用时间s,执行间隔时间s】 在延迟时间后,按间隔时间循环执行
CancelInvoke 【no param】 取消所有Invoke方式调用
IsInvoking 【函数名】【bool】 某执行函数是否在等待调用

协同程序(详见协同程序):
StartCoroutine 【IEnumerator】【Coroutine】 开始协同程序
StopCoroutine 【函数名】 停止这个动作中是函数名的所有协同程序
StopAllCoroutines 【no param】 停止所有动作的协同程序


作者: hyui    时间: 2014-10-28 02:39
Great article !




欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5