Laya Tween循环
Laya Tween循环
@author ixenos
需求:做一个循环的缓动动画
方案:
1)如果只是线性变化,那么直接使用timer或者frameLoop来变化
2)如果需要有非线性变化,那么使用tween比较方便
如果选择tween做循环缓动,那么需要自己在complete时递归调用。
最简单的递归如下:
1 private function innerRoundRecursion():void{ 2 3 Tween.clearTween(spr); 4 5 Tween.to(spr,{rotation:360},16000,Ease.linearNone,Handler.create(this,function():void{ 6 7 spr.rotation=0; 8 innerRoundRecursion(); 9 },null,true)); 10 11 }
官方方案:
1 Tween.to(sp,{x:500},1000,Ease.backIn,Handler.create(this,onTween1)); 2 3 } 4 5 private function onTween1():void 6 { 7 8 num++; 9 trace(num); 10 Tween.clearTween(onTween1); 11 Tween.to(sp,{x:100},1000,Ease.backIn,Handler.create(this,onTween2)); 12 } 13 14 private function onTween2():void 15 { 16 17 Tween.clearTween(onTween2); 18 Tween.to(sp,{x:500},1000,Ease.backIn,Handler.create(this,onTween1)); 19 }