Unity3d中的Awake()、OnEnable()、Start()等默认函数

Unity3d中的Awake()、OnEnable()、Start()等默认函数

创建 MonoBehavior 后立即调用 Awake()。在脚本实例的整个生命周期中,Awake 函数只执行一次;如果游戏对象(即gameObject)的初始状态为关闭,则程序运行,不会执行Awake函数;如果游戏对象初始状态为on,则执行Awake函数;值得注意的是,Awake 函数的执行与脚本实例的状态(启用或禁用)无关3D道具,而是与脚本实例绑定的游戏对象的切换状态有关。如果场景被重新加载,场景内的唤醒函数的执行又按照上面两点进行。

Start() 将在 MonoBehavior 创建之后和 Update() 在框架中第一次执行之前被调用;Start() 函数只会在脚本实例启用时执行;Start 函数将始终在 Awake 函数之后执行。如果启用了游戏对象并且禁用了绑定到该对象的脚本实例,则启动函数将不会执行。这是 Start 函数的特点,它只会在脚本实例启用时执行,而 Start 函数只会在脚本实例第一次启动时执行。如果已经打开的脚本实例关闭后再次打开,则不会再次执行 Start 函数。

一般开发中,在Awake函数中获取游戏对象或脚本实例的信息,然后在Start函数中进行一些初始化设置。

unity圣典脚本_unity脚本生命周期_unity 脚本生命周期

Awake、OnEnable 和 Start 都是在游戏开始运行之前调用的方法。

当GameObject的Activity为true且脚本的enable为true时,顺序为:Awake、OnEnable、Start;

unity 脚本生命周期_unity脚本生命周期_unity圣典脚本

当GameObject的Activity为true且脚本的enable为false时unity脚本生命周期,只运行Awake;

当GameObject的Activity为false时,以上都不调用,调用OnDisable();

unity圣典脚本_unity脚本生命周期_unity 脚本生命周期

OnDestory:当对象被删除时调用。

Update:启用 MonoBehaviour 时,每帧都会调用它的 Update;

unity圣典脚本_unity 脚本生命周期_unity脚本生命周期

LateUpdate:启用 Behavior 时,每帧都会调用其 LateUpdate

FixedUpdate:这个函数将在每个固定的物理时间片调用一次。这是放置游戏基本物理行为的代码的地方。更新后调用。

unity脚本生命周期_unity圣典脚本_unity 脚本生命周期

重置:当用户单击检查器中的重置按钮或首次添加组件时调用重置。此函数仅在编辑模式下调用。重置最常用于提供检查器中最常用的默认值。

OnGui:该函数每帧会调用几次(每个事件一次)unity脚本生命周期GUI显示函数只能在OnGui中调用

unity 脚本生命周期_unity脚本生命周期_unity圣典脚本