Laya的Tween缓动没有初始化repeat导致的Bug

本文探讨了使用Laya.Tween进行图标旋转动画时遇到的一个问题:Dialog打开时可能出现无限循环动画的现象。文章分析了问题的原因在于Tween对象未正确初始化,并提供了解决方案。

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

 

当你使用一个Tween给一个图标做旋转动画,循环播放。(repeat是播放次数, repeat=0无限循环,repeat=1播放一次)

Laya.Tween.to(this.light,{rotation:360},2000).repeat = 0;

 

然后你打开一个Dialog,很有可能这个Dialog会无限播放打开动画....

Laya.Dialog.open(game/TestDialog.scene);

 

原因是Tween是放在对象池里的,从对象池取出来时没有初始化repeat,当播放Dialog动画时拿到的Tween有可能就是那个无限循环的Tween。

 

laya.core.js, Tween.to从对象池拿Tween对象

 

 

 

laya.core.js,  Tween初始化时,没有重置repeat。

 

 

 

所以我加了一行重置repeat

 

转载于:https://www.cnblogs.com/gamedaybyday/p/11613925.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值