Unity3D脚本中的Awake()和Start()的本质区别
昨天被问到一个问题MonoBehaviour的Awake()和Start()的区别是啥?
当然Awake()会在Start()之前被调用,这个地球人都知道了。如果只是顺序问题,那当然就没太大必要搞两个函数了。仔细研究了一下API文档:
- Awake():Awake is called when the script instance is being loaded.
- Start():Start is called on the frame when a script is enabled just before any of the Update methods is called the first time.
using UnityEngine;
using System.Collections;public class TryObject : MonoBehaviour
{// Use this for initializationvoid Start(){
#if trueGameObject dynaGO = new GameObject("DynamicGO");dynaGO.AddComponent<DynamicObject>();
#elseObject prefab = Resources.Load("DynamicGO");Object instance = GameObject.Instantiate(prefab);
#endif}}
另外一个脚本就写几个空函数,用来打断点:
using UnityEngine;
using System.Collections;public class DynamicObject : MonoBehaviour
{void Awake(){ }// Use this for initializationvoid Start(){}// Update is called once per framevoid Update(){}
}
以下是使用AddComponent()方法时,DynamicObject:Awake()的调用堆栈:
- 脚本的一些成员,如果想在创建之后的代码中立即使用,则必须写在Awake()里面;
- 当关卡加载时,脚本的Awake的次序是不能控制的;至于在关卡加载时,对象实例化和Awake()的调用关系,得看源码才知道了。
Unity3D脚本中的Awake()和Start()的本质区别相关推荐
- PHP脚本中的两种换行符的区别
在编写PHP脚本代码的时候,我们经常会看到 \n和<br />这两个字符,它们都有换行的作用,那么到底有什么区别呢? 1.\n是使源代码换行,而浏览器显示的内容不换行: 2.<br ...
- 【Unity3D 教程系列第 10 篇】Unity 脚本中的生命周期流程图
这是[Unity3D 教程系列第 10 篇],如果觉得有用的话,欢迎关注专栏. 文章目录 一:生命周期流程图 二:常用的生命周期函数 三:脚本初始化和销毁 四:脚本的动态添加与静态添加 五:Awake ...
- Unity3D脚本中文系列教程(八)
◆ static var matrix : Matrix4x4 描述:设置用于渲染所有gizmos的矩阵. 类方法 ◆ Static function DrawCube(center:Vector3, ...
- Unity3D脚本中文教程(八)
http://blog.sina.com.cn/s/blog_4ef78af50100xhc6.html ◆ static var matrix : Matrix4x4 描述:设置用于渲染所有gizm ...
- unity3d 脚本参考-技术文档
unity3d 脚本参考-技术文档 核心提示:一.脚本概览这是一个关于Unity内部脚本如何工作的简单概览.Unity内部的脚本,是通过附加自定义脚本对象到游戏物体组成的.在脚本对象内部不同志的函数被 ...
- Unity3D脚本--常用代码集
1. 访问其它物体 1) 使用Find()和FindWithTag()命令 Find和FindWithTag是非常耗费时间的命令,要避免在Update()中和每一帧都被调用的函数中使用.在Start( ...
- Unity3D——脚本编程
在本章中我们将学习的是Unity3D的脚本编程,Unity3d目前支持javascript,c#,Boo这三种脚本的开发!由于本人开发过C++所以就直接用C#来进行unity3d的脚本开发!在脚本开发 ...
- Unity3D脚本中文系列教程(七)
http://dong2008hong.blog.163.com/blog/static/4696882720140311445677/?suggestedreading&wumii Unit ...
- Unity3D脚本中文系列教程(五)
http://dong2008hong.blog.163.com/blog/static/4696882720140302848544/?suggestedreading&wumii Unit ...
最新文章
- 技术债务就像俄罗斯方块,你永远都赢不了!
- ie6、7 下input的边框问题 ?
- 夯实数字化转型算能基石 构建洛阳银行核心云
- SQL Sever sa密码丢失
- 为什么 12306 时不时要崩那么一下?
- 最大流(Max Flow)
- Nginx介绍及安装配置
- 半次元收藏夹爬虫(残疾版,不喜勿喷)
- 世界杯winner只属于你——MESSI
- HTML——表格合并
- 2021年中式烹调师(初级)模拟考试系统及中式烹调师(初级)实操考试视频
- 定义一个电话簿,用人名查电话
- CAN(Controller Area Network)网络通信简介
- ionic3保存图片到本地相册
- java8的LocalDateTime获取当前月的第一天与最后一天
- 思科、华为、瞻博juniper、中兴、阿尔卡特中高端网络设备查看端口收发光功率-命令汇总
- 项目经理年终总结|一个高层项目管理者的年终反思
- matlab建模DNA双链,PPT绘制科研图形—DNA双链、分子细胞模型
- Plants vs. Zombies【二分】
- 罗杰波、马毅、华刚等谈视觉研究那些事:是时候重新定义视觉了