纳金网

标题: MonoBehaviour学习笔记 [打印本页]

作者: 王者再临    时间: 2014-11-29 04:47
标题: 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-11-29 05:43
Very awesome !!
作者: 大大虾    时间: 2014-11-30 15:50
感谢分享!~
作者: Ethan    时间: 2014-12-1 11:34
顶楼主~~~~~~~~~~~~~~~~
作者: Mr.Fair    时间: 2014-12-7 04:10
great up !! thakns




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