unity的gameobject隐藏后无法接收itween的回调

本文探讨了在Unity中使用iTween为UI元素添加动画时遇到的问题:当UI元素被隐藏后,即使动画完成,指定的回调方法也不会被调用。文章分析了这一现象的原因,并给出了相应的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在一个继承自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);


具体原因有待继续探求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值