当前位置: 首页 > news >正文

Unity 中 Awake 和 Start 时机与 GameObject的关系

AwakeStart很相似,都是在脚本的初始阶段执行
但是有两点重要不同:

  1. Awake先执行
  2. Awake即便在脚本 disabled (即enabled = false)时,也会执行,但是Start就不会执行了

对一个物体:

  • 当初始没有激活时,物体上的所有脚本都不会执行,包括AwakeStarte
  • 当初始没有激活,运行后SetActive(true),会执行一次AwakeStarte,但是再次禁用物体、激活物体,AwakeStarte不会再执行。也就是说,物体的整个生命周期,AwakeStarte只会执行一次,就是在物体active的一瞬间
  • 脚本中OnEnableOnDisable会分别在SetActive(true)SetActive(false)时执行
  • OnEnable只有在脚本enabled和其所在物体active时,才会执行;而OnDisable会在脚本disabled或其所在物体inactive都会执行

使用AwakeStart可以把物体初始化分为两个步骤

例如,一个脚本的自身初始化(如对其他的组件的引用、变量初始化等等)可以放在Awake,这样其他脚本在Start中获取该脚本的数据时,就能避免错误产生。

https://gamedevbeginner.com/start-vs-awake-in-unity/

http://www.lryc.cn/news/9022.html

相关文章:

  • 1月份 GameFi 行业报告
  • JVM - 调优
  • flask配置https协议
  • Springboot 我随手封装了一个万能的导出excel工具,传什么都能导出
  • 【Linux详解】——进程控制(创建、终止、等待、替换)
  • HummerRisk V0.9.1:操作审计增加百度云,增加主机检测规则及多处优化
  • Rust入门(十六):手写web服务器和线程池
  • 数据结构——第二章 线性表(1)——顺序结构
  • YOLO 格式数据集制作
  • 基于linux内核的驱动开发
  • 找不到工作的测试员一大把,大厂却招不到优秀软件测试员?高薪难寻测试工程师。
  • buuctf Basic
  • 赛狐ERP|亚马逊产品缺货怎么办?该如何补救?
  • 《Elasticsearch源码解读与优化实战》张超-读书笔记
  • 编码踩坑——运行时报错java.lang.NoSuchMethodError / 同名类加载问题 / 双亲委派【建议收藏】
  • 软件测试选Python还是Java?
  • “2023数据安全智能化中国行”活动,开幕即高能
  • 机器人操作规划——Deep Visual Foresight for Planning Robot Motion(2017 ICRA)
  • go 连接redis集群
  • LeetCode 146. LRU 缓存
  • 【mac】在m2 mbp上通过Parallels Desktop安装ubuntu22.04
  • C++类和对象,初见类
  • Redis常用数据结构及应用场景
  • C++虚继承内存布局
  • IO模型--从BIO、NIO、AIO到内核select、poll、epoll剖析
  • Zebec完成BNB Chain以及Near链上协议部署,多链化进程加速
  • wpscan常见的使用方法
  • Tree 底层源码实现(二叉树、递归、迭代)
  • 家政服务小程序实战教程13-接入客服
  • 大白话高并发(三)