Unity中的Awake函数,与Start函数的对比

1、当包含Awake和Start的Script文件被Enable的时候---就是挂在在GameObject(Active)上的脚本前面被勾选时:

                这时Awake和Start都会在一载入脚本的时候进行执行,且只执行一次。存在先后顺序且,且都在物体被初始化完毕后执行,Awake的先于Start函数前被执行

2、当包含Awake和Start的Script文件被Disable的时候,但是挂载的GameObject被Active(激活)时

                这时Awake会继续执行,而Start函数则不被执行(也就是说Awake的执行和本身脚本是否Enable无关,只与物体本身的Active有关)

3、当包含Awake和Start的Script文件被Disable的时候,但是挂载的GameObject被unActive(禁止)时

                这时Awake不被执行,而Start函数不被执行,(无论脚本是否被Enable都不会被执行)

4. Awake调用取决于Object存活周期内,且只调用一次

    Start调用时机取决于脚本ScriptEnabel时间点,且在脚本存在期间只调用一次

发布了12 篇原创文章 · 获赞 1 · 访问量 1266

猜你喜欢

转载自blog.csdn.net/qq_34250367/article/details/101283876