当前位置:   article > 正文

Unity Awake() OnEnable() Start()三个函数理解_unity onenable和start

unity onenable和start

一.假如把Unity运行的任务作为一场不限人数的篮球比赛来看的话,挂该脚本的物体假设为一个球队,它的脚本为队员,所以当前脚本其实为一个队员,那 Awake() OnEnable() Start()就对应上场前对应该球队的分配.

状态:1.队伍不参赛(SetActive(false)/activeSelf==false),即挂该脚本的物体不出现在场景中.

        2.某个队员不上场(enabled==false),即该脚本组件不执行,此时脚本中的Update函数不再执行.

        Active是对应物体;Enable对应组件,包括脚本.

(备注:缺席状态(SetActive(false)/activeSelf==false),不能直接用find搜索到,可以用标签搜索)

二.所以 Awake() OnEnable() Start()的执行时机为:

1.Awake:

条件:挂脚本的物体为activeSelf==true状态时调用,脚本的enabled==false时也执行.

次数:在物体activeSelf由false变为true时执行一次.

2.OnEnable:

条件:物体的activeSelf==true&&脚本的enabled==true状态时调用.

次数:两个状态,由至少有一个是false,变为双true,就会执行一次,所以可以多次执行.

3.Start:

条件:activeSelf==true&&脚本的enabled==true状态时调用.

次数:在Update第一次更新前,即enabled第一次为true时执行一次.

三.执行顺序

Awake->OnEnable->Start->Update,OnEnable也可能在Update后再次执行.

 

(参考文章链接:https://blog.csdn.net/qq_28849871/article/details/78137261)

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/107985
推荐阅读
相关标签
  

闽ICP备14008679号