1. Awake

Awake用于脚本唤醒。此方法为系统执行的第一个方法,用于脚本的初始化,在脚本的生命周期中只执行一次。

2. Start

Start方法在Awake之后执行,在脚本的生命周期中只执行一次。

由于Awake和Start函数的特性与C#中的构造函数类似(一般情况下,在整个脚本生命周期中只执行一次),所以在Unity中也常用来初始化类的成员变量。

3. FixedUpdate

FixedUpdate用于固定频率更新。

在Unity中依次单击菜单项Edit→Project Settings→Time,可以打开Time Manager面板,其中Fixed Timestep选项用于设置Fixed Update的更新频率,默认为0.02秒,即每秒50次。

通常情况下,FixedUpdate()会比Update()更频繁地调用。当帧率较低时,在某一帧的时间间隔内FixedUpdate可能会被调用多次;而当帧率很高时,在某一帧的时间间隔内FixedUpdate可能根本不会被调用。

还有一点,在Unity中,若设置Time Scale值为0,可以实现动力学特性的暂停,即所有在FixedUpdate函数中的代码都不会被执行。

4. Update

Update用于正常更新,即用于帧更新后同步场景状态。此方法每帧都会由系统自动调用一次。

在使用Update()时,对于一些变量,如速度、移动距离等通常需要乘以Time.deltaTime来抵消帧率待来的影响,使物体状态的改变看起来比较均匀、正常。

而在FixedUpdate中,由于其更新频率固定,所以不需要采用Time.deltaTime来修正状态改变频率。

5. LateUpdate

LateUpdate用于延迟更新,此方法在Update()之后执行,每一帧调用一次。

6. OnGUI

OnGUI用来绘制用户交互界面,在一帧中会调用多次。其中,与布局(Layout)和重绘(Repaint)相关的事件会被优先处理,然后是键盘和鼠标事件。

7. OnDestory

OnDestory在当前脚本销毁时调用。若在脚本中动态分配了内存,可以在OnDestory中进行释放。

Unity脚本默认事件执行顺序的更多相关文章

  1. 关于js事件执行顺序

    关于js事件执行顺序小技巧 js事件执行顺序是js中一个老生常谈的一个话题, 聊这个话题之前我们先谈谈怎么给页面元素绑定我们需要的事件 1.给页面元素绑定事件 a)直接在元素上面加上需要绑定的事件,如 ...

  2. 关于js事件执行顺序小技巧

    js事件执行顺序是js中一个老生常谈的一个话题, 聊这个话题之前我们先谈谈怎么给页面元素绑定我们需要的事件 1.给页面元素绑定事件 a)直接在元素上面加上需要绑定的事件,如 <button ty ...

  3. jquery ajax 中各个事件执行顺序

    jquery ajax 中各个事件执行顺序如下: 1.ajaxStart(全局事件) 2.beforeSend 3.ajaxSend(全局事件) 4.success 5.ajaxSuccess(全局事 ...

  4. 界面主窗体,子窗体的InitializeComponent(构造函数)、Load事件执行顺序

    主窗体,子窗体的InitializeComponent(构造函数).Load事件执行顺序1.执行主窗体定义事件 new函数时,同时执行主窗体构造函数,默认就一个InitializeComponent函 ...

  5. Wex5页面事件执行顺序

    wex5 事件执行顺序data组件的onCustomRefresh→ model组件的onLoad→ windowReceiver组件的onReceive

  6. ASP.NET Page对象各事件执行顺序(转)

    很久没写 asp.net 的东西了,search 了一下 page 的事件执行顺序,找到如下的东西,仅仅做记录用 Page.PreInit 在页初始化开始时发生 Page.Init 当服务器控件初始化 ...

  7. jquery中各个事件执行顺序如下:

    jquery中各个事件执行顺序如下: 1.ajaxStart(全局事件) 2.beforeSend 3.ajaxSend(全局事件) 4.success 5.ajaxSuccess(全局事件) 6.e ...

  8. jquery ajax 事件执行顺序

    jquery中各个事件执行顺序如下: 1.ajaxStart(全局事件) 2.beforeSend 3.ajaxSend(全局事件) 4.success 5.ajaxSuccess(全局事件) 6.e ...

  9. Web高级 Eventloop和事件执行顺序

    1. EventLoop 1.1 调用栈 当一个方法执行时内部调用另外的方法,则会形成调用栈,如图: 1.2 任务队列 JavaScript有一个主线程执行当前任务,主线程的代码同步执行,并把遇到的事 ...

随机推荐

  1. no xxx find in java.library.path

    JAVA系统运行时候load native lib时候会遇到下面错误,如 java.lang.UnsatisfiedLinkError: no JSTAF in java.library.path这可 ...

  2. Python绿色版

    Python 安装的时候,有个选项,是问你要安装给所有用户还是只安装给当前用户,你只要选择当前用户,就会把那些需要的 dll ,包括 msvcr90.dll 都给装到 Python 目录下,你只要把 ...

  3. 5.1深入理解计算机系统——系统级I/O

    一.UNIX I/O     在UNIX系统中有一个说法,一切皆文件.所有的I/O设备,如网络.磁盘都被模型化为文件,而所有的输入和输出都被当做对相应文件的读和写来执行.这种将设备映射为文件的方式,允 ...

  4. Windows批量添加和删除IP

    随着天气变冷了,好多小伙伴都开始变懒了,都想用最快的方式完成任务 下面给大家介绍一下Windows批量添加和删除IP的办法 (1)批量添加IP 直接在CMD下边运行下边命令. for /l %i in ...

  5. ubuntu 的mysql 安装过程和无法远程的解决方案

    ubuntu 的mysql 安装过程和无法远程的解决方案 安装完mysql-server启动mysqlroot@ubuntu:# /etc/init.d/mysql start (如果这个命令不可以, ...

  6. 一个简单的Javascript闭包示例

    //=====用闭包实现函数的Curry化===== //数字求和函数的函数生成器 function addGenerator( num ){ //返回一个简单的匿名函数,求两个数的和,其中第一个数字 ...

  7. sqoop1.4.6 全量导入与增量导入 与使用技巧

    全量导入: sqoop import --connect jdbc:mysql://192.168.0.144:3306/db_blog --username root --password 1234 ...

  8. uvalive 6938 区间dp

    看到n范围和给的区间看着就像区间dp 然后怎么cmp感觉都没法进行区间合并 n的300误导了下 没有注意离散化之后对时间可以dp 然而这个dp感觉不太经得起证明的样子... dp[i][j] -> ...

  9. 页面js框架

    js 模板,所有页面控制js,以闭包形式编写代码,降低浏览器内存消耗,加快运行速度  请按照此结构编写,便于后期前端维护和修改​1. [代码][JavaScript]代码 /** * js 模板,所有 ...

  10. 二叉查找树--java

    package com.test.tree; public class BinarySearchTree<T extends Comparable<? super T>> { ...