查看: 1025|回复: 1
打印 上一主题 下一主题

[其他] MonoBehaviour学习笔记(转载)

[复制链接]

2722

主题

42

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
38266
精华
111

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2014-10-28 02:17:22 |只看该作者 |倒序浏览
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】 停止所有动作的协同程序

分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

hyui    

1

主题

2

听众

6671

积分

高级设计师

Rank: 6Rank: 6

纳金币
2715
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2014-10-28 02:39:18 |只看该作者
Great article !
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /1 下一条

手机版|纳金网 ( 闽ICP备08008928号

GMT+8, 2024-5-4 05:06 , Processed in 0.084965 second(s), 32 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部