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。

Laya的Tween缓动没有初始化repeat导致的Bug_第1张图片

 

 

 

所以我加了一行重置repeat

Laya的Tween缓动没有初始化repeat导致的Bug_第2张图片

 

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

你可能感兴趣的:(Laya的Tween缓动没有初始化repeat导致的Bug)