【Unity】awake和start

生命周期流程如下

在这里插入图片描述

本篇主要讲的是在比较靠前的awake和start阶段,因为这两个阶段效果类似,都只会执行一次,但是具有触发条件.

awake、enable、start依照次顺序执行,awake会在一开始的时候就会执行,但start则是在被激活之后才会调用,因此在编写代码的时候在给脚本挂载的物体做初始化,就用awake,用于挂载组件或者处理引用关系,start是物体“可见”之后才会被调用即setActive("true")之后才会调用(当然一开始就是非隐藏的话会按照顺序执行),面试的时候有问过一个如果物体被遮挡了那么还会执行对应的脚本嘛?(答案是会执行,毕竟遮蔽不是不激活)

由此在用处上面的话总结:

awake:用于初始挂载在对象上的组件或者关系,不论是否激活一开始都会调用

start:用于初始化对象上的数据,只会在物体被激活后按顺序调用,也只是全程调用一次

两者都只会调用一次

说个题外话,在开发的时候尽可能以少量的方法组成不同的功能,或者说相同类型对象源于同一个初始,这样会提升开发效率,如果对象要不同那只做继承就行

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值