u3d学习笔记三:U3D脚本的生命周期
U3D的脚本从唤醒到销毁有着一个完整的生命周期,所有的周期函数都在MonoBehaviour这个基类中,基本上所有脚本都是继承MonoBehaviour这个类的,在这对脚本生命周期中相对较为重要的函数做一下备忘,函数讲解基本都是来自API文档。
脚本的生命周期中相对重要的函数如下所示(个人观点):
Awake——>OnEnable–>Start——>Update——>FixedUpdate——>LateUpdate——>OnGUI——>OnDisable——>OnDestroy
- Awake函数,当一个脚本实例被载入的时候被调用,主要用于在游戏开始之前初始化变量或者游戏状态。在整个生命周期中仅被调用一次,并且是在所有对象都被初始化之后调用,所以可以在Awake中访问其他对象。(需要注意的是,不能在这个函数中调用协程)
- OnEnable函数,当对象变为可用或者激活状态时被调用
- Start函数,函数仅在Update函数第一次被调用前调用。在整个生命周期中也只是被调用一次,但是和Awake不同的是,Start函数只在脚本实例被启动的时候调用,这里也允许调用协程
- Update函数,当脚本启动之后,会在每一帧中都被调动,在这函数中可以更新游戏的状态,是游戏实现中非常常用的函数
- FixedUpdate函数,该函数也是脚本启动后的每一帧都会被调用,但是与Update不同的是,FixedUpdate函数是专门用力处理Rigidbody,比如给刚体加一个力的作用。还有一个需要注意的是,FixedUpdate函数和Update函数的帧率是不一样的。
- LateUpdate函数,跟Update函数一样,也是每一帧都被调用。有一个特点就是,LateUpdate函数是在所有Update函数调用后才调用的,可以用于调整脚本的执行顺序。
- OnGui函数,渲染和处理GUI事件的时候调用,这意味着你的OnGUI程序将会在每一帧被调用。要得到更多的GUI事件的信息查阅Event手册。如果Monobehaviour的enabled属性设为false,OnGUI()将不会被调用。
- OnDisable函数,与OnEnable函数相反,OnDisable函数在对象变为不可用或者非激活状态时被调用,可以在此函数中做相关资源的释放。
- OnDestroy函数,当脚本被销毁的时候被调用。
u3d学习笔记三:U3D脚本的生命周期相关推荐
- Vue 学习笔记(2)Vue 生命周期、组件
Vue Vue 生命周期 Vue 中组件(Component) 全局组件的开发 局部组件的开发 组件中 props 的使用 在组件上声明静态数据传递给组件内部 在组件上声明动态数据传递给组件内部 pr ...
- libgdx 学习笔记七 libgdx应用程序生命周期
简介 本章内容描述libGDX 应用程序的结构和怎么根据不同的平台版本使用不同的后台 The Application 做为任意libGDX 工程的主入口点.Application 决定平台的版本和后台 ...
- Spring4.0学习笔记(5) —— 管理bean的生命周期
Spring IOC 容器可以管理Bean的生命周期,Spring允许在Bean生命周期的特定点执行定制的任务 Spring IOC 容器对Bean的生命周期进行管理的过程: 1.通过构造器或工厂方法 ...
- NPDP学习笔记(七)产品生命周期
这是本主题笔记最后一篇,最近由于身体不好,工作上也遇到了很多坎坷,很久没有更新.意外竟然有读者留言询问,很开心能带给别人些许价值,故将本主题更新完整!避免太监~
- Polyworks脚本开发学习笔记(三)-TREEVIEW进阶操作
Polyworks脚本开发学习笔记(三)-TREEVIEW进阶操作 移动/交换对象的顺序 移动对象的顺序 TREEVIEW FEATURE MOVE ( 1,2 ) 将索引号为1和2的特征交换位置 T ...
- U3d学习第三天--黑暗奇侠(1)地图搭建
U3d学习第三天--黑暗奇侠(1)地图搭建 先导入需要的资源包巨魔的资源包地形上各种建筑的资料包恐龙资料包女孩资料包 绘制地形:1.首先先改地图的大小, 2.为地形添加地皮:3.抬高地形: 4.绘制地 ...
- K8S 学习笔记三 核心技术 Helm nfs prometheus grafana 高可用集群部署 容器部署流程
K8S 学习笔记三 核心技术 2.13 Helm 2.13.1 Helm 引入 2.13.2 使用 Helm 可以解决哪些问题 2.13.3 Helm 概述 2.13.4 Helm 的 3 个重要概念 ...
- Python学习笔记三之编程练习:循环、迭代器与函数
Python学习笔记三之编程练习 1. 编程第一步 # 求解斐波纳契数列 #/user/bin/python3#Fibonacci series:斐波那契数列 #两个元素的总和确定了下一个数 a,b= ...
- Spring框架学习笔记(三)(AOP,事务管理)
Spring框架学习笔记(三) 九.AOP 9.1 AOP的注解配置 (1) 新建计算器核心功能(模拟:不能在改动核心代码) (2) 建立一个普通的Java类写增强代码(面向切面编程),使用Sprin ...
- SurfaceFlinger学习笔记(三)之SurfaceFlinger进程
概述 本系列是基于android Q 即android10 SurfaceFlinger学习笔记(一)应用启动流程 SurfaceFlinger学习笔记(二)之Surface SurfaceFling ...
最新文章
- YZYZ菜鸟编程小助手
- 【中级软考】MTBF是什么?(平均故障间隔时间,Mean Time Between Failure,是衡量一个产品的可靠性指标,单位为小时)
- 【ES6】Set Map数据结构、Iterator遍历器
- CentOS 7.4救援模式和忘记root密码
- Steinberg Cubase Elements 11 for Mac(音频处理软件)
- SQL Server自动备份存储过程和视图的方法
- 计算机初级技能词,计算机领域英语常用词汇初级.doc
- pytorch——MINST数据集
- php微信公众号登录
- VARCHART XGantt 甘特图中的日期和夏令时
- BZOJ1050 [HAOI2006]旅行comf (并查集)
- php红包退回通知,PHP红包算法类(已运用实际项目)
- leetcode第一题
- Kibana - KQL语法
- 大治一中2021年高考成绩查询,2021年大冶市高考状元名单资料,今年大冶市高考状元多少分...
- Android——使用contentprovider获取内容
- 沪深A股重污染行业上市公司匹配结果2000-2021年(数据+代码)
- 10G POE 网络变压器
- (附源码)python个人健康自助记录查询系统 毕业设计 152015
- Portal技术介绍