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();
上一篇:Xtrabackup安装及使用


下一篇:【BZOJ1082】【SCOI2005】栅栏