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

Unity中 Start和Awake的区别

Awake和Start在Unity中都是MonoBehaviour脚本中的生命周期函数

Awake函数在游戏对象首次被加载时调用,在游戏对象初始化之前调用。

start函数在游戏对象初始化完成后调用,在update第一次执行前调用。

这两个函数在其生命周期内都只会调用一次,反复启用禁用该物体或者脚本实例都不会再次调用。

这样说好像难以理解,但是做个测试就知道了。

即使脚本实例不启用,但是awake函数仍然会调用:

因为awake函数只和脚本实例所绑定的游戏对象的状态有关,与脚本实例的状态(启用或禁用)无关。

但start函数只有在脚本实例是激活状态下才会被调用:

不同物体间start函数的调用顺序是没法保证的。

在调用任何对象的 Start 函数之前,将在场景中的所有对象上调用 Awake 函数。如果对象 A 的初始化代码需要依赖于已经初始化的对象 B,则这一点会非常有用;此时,B 的初始化应在 Awake 中完成,A 则应在 Start 中完成。

 

假如我们在A的start函数中初始化了某个数据,

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

相关文章:

  • 进度条、git常见指令以及gdb的常用指令
  • ubuntu20编译安装pkg-config
  • 奇富科技发布鸿蒙元服务1.0版本,打造鸿蒙生态金融科技全新体验
  • 【Git学习一】初始化仓库git init的使用和提交git add与git commit的使用
  • Redux-状态管理组件
  • 【bigo前端】egret中的对象池浅谈
  • 用公式告诉你 现货黄金投资者要不要换策略?
  • 系列六、多线程集合不安全
  • MidJourney笔记(1)-入门
  • CRM系统定制开发价格
  • Kubernetes实战(五)-pod之间网络请求实战
  • 7年经验之谈 —— 如何高效的开展app的性能测试?
  • 小程序action-sheet结合自定义tabbar显示
  • 机器学习笔记 - 隐马尔可夫模型的简述
  • iOS学习 --- Xcode 15 下载iOS_17.0.1_Simulator失败解决方法
  • 多视图聚类论文阅读(二)
  • Docker在Centos7下的安装
  • LLM大模型4位量化实战【GPTQ】
  • 安装keras、tensorflow
  • ffmpeg知识点整理
  • Git 笔记之gitignore
  • 【配置】Redis常用配置详解
  • Linux(Ubuntu)安装JDK环境
  • OpenCV C++ 张正友相机标定【相机标定原理、相机标定流程、图像畸变矫正】
  • SDL2 播放音频(MP4)
  • WMS仓库管理系统库位功能
  • vue2组件通信中的一些拓展(props,emit,ref父子双向传参)
  • Flink1.17 DataStream API
  • 数据结构中树、森林 与 二叉树的转换
  • 力扣labuladong——一刷day43