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 }