Unity Update与LateUpdate执行顺序之坑

Unity中Update通常在LateUpdate之前执行,但特定情况下,如在OnClick事件中动态添加组件,可能会导致LateUpdate先于预期的Update调用,从而影响代码逻辑。这种情况下,NewCom的Update会被延迟到下一帧才执行,可能引发不易察觉的bug。建议避免在LateUpdate中设定严格的先后逻辑依赖,以防止潜在问题。
摘要由CSDN通过智能技术生成

  一看到这标题,大家可能会嗤之一笑,因为Update和LateUpdate的执行顺序应该是一件非常明了的事情,既然都叫LateUpdate了难道还能在Update之前执行不成?

回答这个问题之前,我们来看一张Unity的执行顺序图:


  这边也明确的表明了Update一定在LateUpdate之前执行,我们可以先写些代码来测试一下:

public class OldCom : MonoBehaviour {

	// Use this for initialization
	void Start () {
        Debug.Log("OldCom Start Func Time is :" + Time.time);
        gameObject.AddComponent<NewCom>();
    }
	
	// Update is called once per frame
	void Update () {
        Debug.Log("OldCom Update Func Time is :" + Time.time);
    }

    void LateUp
  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值