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


 

当你使用一个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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM