zoukankan      html  css  js  c++  java
  • Unity NGUI Tween动画回调不执行问题

    最近工作中遇到了一个问题

    NGUI的Tween动画完成 回调函数 偶尔不执行

    偶现Bug 今天我仔细看了下代码发现

        TweenPosition tempTween = varTar.GetComponent<TweenPosition>();
        if (tempTween == null)
        {
            Debuger.LogError("MainUITaskAward: Play() tempTween == null");
            return;
        }
        tempTween.ResetToBeginning();
        tempTween.PlayForward();
    
        EventDelegate.Callback del = delegate ()
        {
            if (tempTween != null)
            {
                Destroy(tempTween.gameObject);
            }
        };
    
        tempTween.SetOnFinished(del);

    我是先执行的PlayForwar() 后SetFinished()

    在程序卡的时候就会出现已经完成了动画 但是没有回调

    修改后

            TweenPosition tempTween = varTar.GetComponent<TweenPosition>();
            if (tempTween == null)
            {
                Debuger.LogError("MainUITaskAward: Play() tempTween == null");
                return;
            }
    
            EventDelegate.Callback del = delegate ()
            {
                if (tempTween != null)
                {
                    Destroy(tempTween.gameObject);
                }
            };
    
            tempTween.SetOnFinished(del);
    
            tempTween.ResetToBeginning();
            tempTween.PlayForward();
  • 相关阅读:
    adb使用项目导入等
    ThreadLocal类理解
    Spring MVC MyBatis
    Spring MVC原理图
    Spring MVC返回JSON的几种方法
    Understanding REST
    链表
    存储构造题(Print Check)
    线状DP(石子归并)
    线段树(与区间有关的操作)
  • 原文地址:https://www.cnblogs.com/zouqiang/p/6860317.html
Copyright © 2011-2022 走看看