1.Start()
    在Update方法被调用之前开始调用Start方法,而且Start方法在整个MonoBehaviour生命周期内只被调用一次。Awake和Start不同的地方在于Start方法仅仅在脚本初始化后被调用,这样允许你延迟加载任何代码,直到代码真正被使用时。Awake方法总是在Start方法执行之前被调用,这样允许你初始化脚本代码。

2.Awake()
    当脚本被加载后立即调用Awake方法,这个方法通常在Start()开始之前声明某些变量或者游戏的状态标记符。同样,Awake也是在MonoBehaviour声明周期内被调用一次。Awake在所有的对象(个人认为是GameObject)实例化后被调用,因此绑定这个脚本的对象能与其他对象之间相互作用,例如,同过GameObjectFindWithTag方法查找其他对象。

3.Update()
    在Start方法执行过后,游戏的每一帧都在调用此方法。

4.FixedUpdate()
    每一帧都在调用此方法。当处理Rigdibody时FixedUpdate应该代替Update方法,比如,当一个物体需要增加一个力时,应该将这个力的代码写在FixedUpdate()里面。
    void FixedUpdate() {
        rigidbody.AddForce(Vector3.up);
    }

5.LateUpdate()
    每一帧都在调用此方法。当每一帧的Update方法全部执行完后,此方法开始被调用。举个例子来说吧,当一个角色移动而摄像机也要跟着移动时,摄像机的处理就应该在LateUpdate()里面了。

6.OnGUI()
    OnGUI()在每一帧被调用数次(several times),假如MonoBehaviour的enabled属性设置为false时,OnGUI()就失去作用了。

7.DontDestroyOnLoad()

进入另一个场景时,保证绑定此脚本的对象的内存不被释放掉。也就是说绑定此脚本的GameObject在下一个场景中依然存在。

MonoBehaviour Mono行为

一个游戏组件的脚本有一个生命周期——一开始实例化,直到结束实例被销毁。在这期间,他们有时候处于激活状态,有时候处于非激活状态;对于活动,对用户有时候可见,有时候不可见

本文主要讨论常见脚本的的生命周期:

如下图  常见的 script 执行方法和流程

上图为 常见见的脚本 方法

下面我们看看每个方法的

OnAwake 方法:  当脚本实例被载入时Awake被调用

OnStart 方法:  Start仅在Update函数第一次被调用前调用。

OnUupdate 方法 :渲染一帧之前被调用。这里是大部分游戏行为代码被执行的地方,除了物理代码

OnGUI 方法:  渲染和处理GUI事件时调用 这里不是 没帧都调用哦

FixedUpdate 方法: 这个函数在每个物理时间步被调用一次。这是处理基于物理游戏行为的地方。

LateUpdat 方法 :是在所有Update函数调用后被调用。这可用于调整脚本执行顺序。例如:当物体在Update里移动时,跟随物体的相机可以在LateUpdate里实现

Reset 方法 : 重置为默认值

OnDisable 方法: 当对象变为不可用或非激活状态时此函数被调用。

OnDestroy 方法:当MonoBehaviour将被销毁时,这个函数被调用

MonoBehaviour常用方法相关推荐

  1. Unity API常用方法和类学习笔记1

    Unity API常用方法和类学习笔记1 ------主要构架(Unity-Engine.GameObject.Component) 事件 一.事件执行顺序 二.测试代码 using System.C ...

  2. Unity API常用方法和类的解析

    一.事件函数执行的先后顺序 FixedUpdate每秒执行固定次数,应该将处理跟物理相关的运动的代码放在FixedUpdate中. Update和LateUpdate跟硬件和代码性能有关,每秒执行次数 ...

  3. 我的Unity学习笔记----------API常用方法和类详解(四)

    二十三. Camera组件(类) 通过获取camera组件把场景中鼠标的位置(点)转化为射线 mainCamera=GameObject.Find("MainCamera").Ge ...

  4. 《Unity API常用方法和类详细讲解—Siki学院》课程学习笔记02

    <Unity API常用方法和类详细讲解-Siki学院>课程学习笔记02 课时10 GameObject.Component和Object的千丝万缕的关系 一个游戏由多个场景组成,一个场景 ...

  5. 30 个 php 操作 redis 常用方法代码例子

    这篇文章主要介绍了 30 个 php 操作 redis 常用方法代码例子 , 本文其实不止 30 个方法 , 可以操作 string 类 型. list 类型和 set 类型的数据 , 需要的朋友可以 ...

  6. SearchRequestBuilder常用方法说明

    SearchRequestBuilder常用方法说明 (1) setIndices(String... indices):上文中描述过,参数可为一个或多个字符串,表示要进行检索的index:(2) s ...

  7. 3-RACSignal 常用方法

    RACSingal的常用方法 一 基本使用 1map // 0 创建信号提供者// RACSubject,既能发送信号,又能订阅信号// 多用于代理,相当于OC里的delegate或者回调blockR ...

  8. AJAX 一些常用方法

    AJAX 一些常用方法 abort() 停止当前请求 getAllResponseHeaders() 返回包含HTTP请求的所有响应头信息,其中响应头包括Content-Length,Date,URI ...

  9. OC基础第四讲--字符串、数组、字典、集合的常用方法

    OC基础第四讲--字符串.数组.字典.集合的常用方法 字符串.数组.字典.集合有可变和不可变之分.以字符串为例,不可变字符串本身值不能改变,必须要用相应类型来接收返回值:而可变字符串调用相应地方法后, ...

最新文章

  1. python下载安装教程3.7.3-【最新】Python-3.7.0安装教程及下载链接
  2. Elasticsearch学习笔记-05浏览数据
  3. 设计模式学习笔记(十)——Decorator装饰模式
  4. 火了,挡不住了:Facebook Move编程语言入门
  5. API文档工具-Swagger的集成
  6. LeetCode 986. 区间列表的交集
  7. python爬虫的技能_关于 Python 爬虫可能涉及到的技能点
  8. java除了android,Java中是否有类似android中的android.os.Handler的类?
  9. linux c 获取终端输出到文件,LINUX C获取命令行输出结果
  10. win7电脑误删鼠标键盘驱动_快速恢复win7系统因驱动冲突导致鼠标键盘用不了的详细步骤...
  11. 细说IIR滤波器和FIR滤波器的区别
  12. caj转换成word方法免费
  13. 计算机硬件基础 软考中级 网络工程师
  14. 均方误差与总平方误差(或绝对误差)
  15. 推荐一本Vue开发的书籍
  16. python爬斗鱼直播房间名和主播名,Python爬虫获取斗鱼主播信息
  17. PHP最好的语言的梗的笑话
  18. 【Python_046】网页爬虫(绕过SSH认证)
  19. 有道云笔记如何修改全局默认字体样式
  20. linux 软件包kbd 位置,linux系统安装包的管理

热门文章

  1. 编程一个最简单游戏_通过一个简单的数学游戏,清晰了解各大编程语言之间的一些区别...
  2. 拼装机器人感想_学习制作机器人的感想作文500字15篇
  3. python request url编码_Python 爬虫 (requests) 发送中文编码的 HTTP POST 请求
  4. php实现双向队列详解,PHP实现一个双向队列例子
  5. 单片机音频谱曲软件_【自己写的小软件】CLY单片机音乐代码超级生成器
  6. apollo 配置中心_.NET Core 下使用 Apollo 配置中心
  7. wordpress是用php几开发的,php-WordPress多个开发人员设置
  8. vs code 插件_[VSCode插件开发] 由浅入深,带你了解如何打造百万级产品
  9. 计算机网络 --- 数据链路层介质访问控制
  10. 下面哪个字段是http请求中必须具备的_HTTP 协议报文结构及示例