NGUI中TweenScale回调函数设为null时导致的BUG

在使用 NGUI 的 TweenScale 功能时,遇到一个关于回调函数的 Bug。在 playForward() 时设置 onFinished 为 null,playReverse() 后添加指定函数执行。然而,在 APK 测试中,指定函数并未执行。通过查看 NGUI 代码,发现设置 onFinished 为 null 与 clear() 并添加 null 是不同操作,导致问题。解决方案是正确清理并重新添加委托,确保回调功能正常工作。
摘要由CSDN通过智能技术生成

今天使用NGUI的TweenScale时遇到一个问题


使用时TweenScale是用两次,playForward()和playReverse(),要求playForward()后啥都不做,playReverse()后执行函数


由于动画播放需要时间,不可能执行完playReverse()代码就执行指定函数


NGUI提供了对应的委托处理,所以思路上是在playForward()时将onFinished置为null,playReverse()时添加指定方法


对应代码

        EventDelegate.Callback panelClose= PanelClose;
        panelScale.SetOnFinished(panelClose);

置为null时代码

panelScale.onFinished = null;

选中添加TweenScale的GameObject,以便实时查看


运行,没问题,一切正常


导出apk测试发现相应函数没执行


回到unity,测试是没问题的,不经意间选择其他GameObject,在进行测试,问题出现了


检查相应代码,将置null代码改成如下代码

  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值