# How to loop TweenLite animations?

**URL:** <https://forum.kirupa.com/t/how-to-loop-tweenlite-animations/262646>\
**Category:** Uncategorized\
**Created:** [June 8, 2008, 3:06pm UTC](https://forum.kirupa.com/t/how-to-loop-tweenlite-animations/262646 "2008-06-08T15:06:57Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![keitai](https://avatars.discourse-cdn.com/v4/letter/k/73ab20/32.png) [@keitai](https://forum.kirupa.com/u/keitai)\
**Post date:** [June 8, 2008, 3:06pm UTC](https://forum.kirupa.com/t/how-to-loop-tweenlite-animations/262646/1 "2008-06-08T15:06:57Z")

</div>

Hi all,

I am using the TweenLite engine and i was wondering how to loop/ start over the animation??

regards

---

<div class="post-metadata">

**Author:** ![snickelfritz](https://avatars.discourse-cdn.com/v4/letter/s/7ea924/32.png) [@snickelfritz](https://forum.kirupa.com/u/snickelfritz)\
**Post date:** [June 8, 2008, 3:10pm UTC](https://forum.kirupa.com/t/how-to-loop-tweenlite-animations/262646/2 "2008-06-08T15:10:49Z")

</div>

function loop():void{  
TweenLite.to(mc, 1, {do something, onComplete:loop});  
}

---

<div class="post-metadata">

**Author:** ![keitai](https://avatars.discourse-cdn.com/v4/letter/k/73ab20/32.png) [@keitai](https://forum.kirupa.com/u/keitai)\
**Post date:** [June 8, 2008, 7:04pm UTC](https://forum.kirupa.com/t/how-to-loop-tweenlite-animations/262646/3 "2008-06-08T19:04:13Z")

</div>

@snickelfritz,

I understand your answer, but how can we control the time the loop starts?

right now i am experimenting with removing the tweens, setInterval and an initialize function

```auto

var startInt:Number;
var contentTween:TweenFilterLite;
var footerTween:TweenFilterLite;
var payoffTween:TweenFilterLite;
var logoTween:TweenFilterLite;
var brandTween:TweenFilterLite;
function ini() {
	brand_mc._x = 168;
	brand_mc._y = 130;
	footer_mc._x = 0;
	footer_mc._y = 178;
	payoff_mc._x = 50;
	payoff_mc._y = 30;
	logo_mc._x = 9;
	logo_mc._y = 233;
	brand_mc._rotation = 0;
	brand_mc._x = 0;
}
function startAnime() {
	trace("start anime");
	clearInterval(startInt);
	contentTween = TweenFilterLite.from(brand_mc, 2, {_xscale:120, _yscale:120, _x:150, ease:easeOutQuart});
	footerTween = TweenFilterLite.from(footer_mc, 1, {_y:250, delay:1, ease:Back.easeOut});
	payoffTween = TweenFilterLite.from(payoff_mc, 0.9, {_x:450, delay:1, ease:easeOutQuart, overwrite:false, onComplete:moveDown});
	logoTween = TweenFilterLite.from(logo_mc, 0.7, {_x:-200, delay:1.5, ease:easeOutQuart});
	brandTween = TweenFilterLite.to(brand_mc, 0.7, {_rotation:180, _xscale:120, _yscale:120, _blurX:16, _blurY:6, blurFilter:{blurX:50, quality:2}, renderOnStart:false, delay:5, overwrite:false, onComplete:removeBlur, onCompleteParams:[brand_mc]});
	}
function endAnime() {
//animated mc going off stage
	contentTween = TweenFilterLite.to(brand_mc, 2, {_xscale:120, _yscale:120, _x:150, ease:easeOutQuart});
	footerTween = TweenFilterLite.to(footer_mc, 0.5, {_y:250, delay:1, ease:Back.easeOut});
	payoffTween = TweenFilterLite.to(payoff_mc, 0.9, {_x:450, delay:1, ease:easeOutQuart, overwrite:false, onComplete:moveDown});
	logoTween = TweenFilterLite.to(logo_mc, 0.6, {_x:-200, delay:0.9, ease:easeOutQuart});
	brandTween = TweenFilterLite.to(brand_mc, 0.7, {_rotation:0, _xscale:120, _yscale:120, filters:[], renderOnStart:false, delay:2, overwrite:false, onComplete:startAgain});
}
function startAgain() {
	trace("Start again");
	TweenFilterLite.removeTween(contentTween);
	TweenFilterLite.removeTween(footerTween);
	TweenFilterLite.removeTween(payoffTween);
	TweenFilterLite.removeTween(logoTween);
	TweenFilterLite.removeTween(brandTween);
	startInt = setInterval(startAnime, 5000);
}
startAnime();

```

Does this mean i have to do something like

```auto

function endAnime() {
//animated mc going off stage
	......
	brandTween = TweenFilterLite.to(brand_mc, 0.7, {_rotation:0, _xscale:120, _yscale:120, filters:[], renderOnStart:false, delay:2, overwrite:false, onComplete:startAnime});// but with a delay????
}

```

kind regards
