unity的生命周期表

Awake() 无论脚本是否处于激活状态都调用一次;

OnEnable() 当脚本被设置为激活状态时掉用一次;

Start() 当脚本被激活时调用一次;

FixedUpdate() 每隔固定时间间隔调用一次(默认0.02s),在0s时也会执行一次;

Update() 脚本处于激活状态时每帧调用一次;

LateUpdate() 在Update()之后调用一次;

OnGUI() 脚本处于激活状态时每帧调用两次(曾被用来渲染UI,推出UGUI之后几乎弃用);

OnDisable() 当脚本组件被设置为不可用时调用一次;

OnDestroy() 当脚本组件被销毁时掉用一次;

举例:

using UnityEngine;

扫描二维码关注公众号,回复: 6154613 查看本文章

public class TestLifeCycle : MonoBehaviour {

private float timer = 0; //计时器

void Update()
{
timer += Time.deltaTime; //计时器加上每帧间隔时间
if (timer >= 1f)
{
Debug.Log(“条件满足”);
GetComponent().enabled = false; //将脚本组件设置为不可用
Debug.Log(“如果出现此打印,则在将脚本组件设为不可用后,还会执行此次Update()剩下的语句”);
Destroy(GetComponent()); //销毁脚本组件
Debug.Log(“出现此打印则脚本被销毁之后,还会执行此次Update()的剩下的语句”);
}
Debug.Log(“if体外的语句也会被执行”);
}
}

只要执行到了update,在脚本组件被设置为不可用或被销毁,则都会将剩下的语句也执行一遍;

猜你喜欢

转载自blog.csdn.net/zzzz0927/article/details/89920846