在一个继承自MonoBehaviour的UI类中添加动画,动画播放的过程中切换UI,原UI隐藏掉,则动画回调不会调用。
iTween.MoveTo(iconObject, iTween.Hash("y", 100, "easeType", iTween.EaseType.linear, "time", 5, "loopType", iTween.LoopType.none, "oncomplete", "onMoveComplete", "oncompletetarget", gameObject, "isLocal", true, "oncompleteparams", resourceIcon));
隐藏原UI:gameObject.SetActive(false);
动画运动完成后onMoveComplete可能不会回调。
在itween中动画播放完成后依然派发事件,只是监听对象gameObject已经隐藏(未销毁)不再监听这些事件了。
itween中派发事件的代码如下:
target.SendMessage((string)tweenArguments[callbackType],(object)tweenArguments[callbackType+"params"],SendMessageOptions.DontRequireReceiver);
具体原因有待继续探求。