如何解决为什么我在 DoTween Sequence 的 AppenCallBack 中的方法永远不起作用
foreach (var item in mMoveInfo)
{
var go = item;
if (!item.OnlyPlayer)
{
……
//Doesn't matter
}
else
{
Sequence sq = DOTween.Sequence();
if (go.End >= 2)
{
sq.Append(mPlayerBody.transform.DOLocalMoveY(0.92f + 0.5f * (go.End - 2),mCombineTime));
sq.AppendCallback(() =>
{
mPlayerControl.ShowFire();
mRunners[go.Begin - 2].Vanish();
mRunners.RemoveAt(go.Begin - 2);
mPlayerscore.ChangescoreView(go.EndValue);
GameEventSystem.SendEvent(GameEvent.UIRefreshCoin);
});
}
else
{
sq.Append(mPlayerBody.transform.DOLocalMoveY(0,mCombineTime));
sq.AppendCallback(() =>
{
mPlayerControl.ShowFireGround();
mRunners[go.Begin - 2].Vanish();
mRunners.RemoveAt(go.Begin - 2);
mPlayerscore.ChangescoreView(go.EndValue);
GameEventSystem.SendEvent(GameEvent.UIRefreshCoin);
});
}
}
yield return new WaitForSeconds(mCombineWaitTime);
}
我正在制作一个游戏,需要一些补间(使用 DoTween)。在吐温结束时,我需要刷新 UI 中的硬币值(如您所见,GameEventSystem,静态一个)。在统一模拟器中,此代码运行良好,但是当我在 IOS 中运行游戏时,Xcode 说
"NullReferenceException: 未将对象引用设置为对象的实例。 在 PLayerPanel.ChangeCoinValue () [0x00000] 在 :0 在 System.Action.Invoke () [0x00000] 在 :0 在 GameEventSystem.SendEvent (GameEvent eventName) [0x00000] 在 :0 在 DG.Tweening.TweenCallback.Invoke () [0x00000] 在 :0 在 DG.Tweening.Tween.OnTweenCallback (DG.Tweening.TweenCallback callback,DG.Tweening.Tween t) [0x00000] in :0 在 DG.Tweening.Sequence.ApplyInternalCycle(DG.Tweening.Sequence s、System.Single fromPos、System.Single toPos、DG.Tweening.Core.Enums.UpdateMode updateMode、System.Boolean useInverse、System.Boolean prevPosIsInverse、System.Boolean multiCycleStep) [0x00000] 在 :0 在 DG.Tweening.Sequence.DoApplyTween (DG.Tweening.Sequence s,System.Single prevPosition,system.int32 prevCompletedLoops,system.int32 newCompletedSteps,System.Boolean useInversePosition,DG.Tweening.Core.Enums.UpdateMode updateMode00000x0x0x0x0x0在 :0 在 DG.Tweening.Tween.DoGoto (DG.Tweening.Tween t,System.Single toPosition,system.int32 toCompletedLoops,DG.Tweening.Core.Enums.UpdateMode updateMode) [0x00000] in 中:0 在 DG.Tweening.Core.DOTweenComponent.Update () [0x00000] 在 :0 "
为什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。