# \[AS3\] Tween stops working after ~1min, 37secs

**URL:** <https://forum.kirupa.com/t/as3-tween-stops-working-after-1min-37secs/322839>\
**Category:** flash\
**Created:** [June 5, 2011, 1:08pm UTC](https://forum.kirupa.com/t/as3-tween-stops-working-after-1min-37secs/322839 "2011-06-05T13:08:16Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![meetspin](https://avatars.discourse-cdn.com/v4/letter/m/439d5e/32.png) [@meetspin](https://forum.kirupa.com/u/meetspin)\
**Post date:** [June 5, 2011, 1:08pm UTC](https://forum.kirupa.com/t/as3-tween-stops-working-after-1min-37secs/322839/1 "2011-06-05T13:08:16Z")

</div>

Hi guys,

I would greatly appreciate your help!

I’m creating 18 enemies (simple circle sprites) using a for loop,  
Then (using Math.random), I’m selecting 1 enemy at random and making it travel down the screen,  
Once it’s at the bottom of the screen, it’s y position will reset back to zero.

However, I’ve got this problem where my motion tween comes to a complete halt after approximately 1min and 37secs. Any ideas why?

I’ve attached the .fla and .as, however, here’s the .as if you can’t be bothered downloading it: (Enemy1 is just a MovieClip I created)

```auto
package {
	
	import flash.display.MovieClip;
	import flash.events.TimerEvent;
	import flash.utils.Timer;
	import flash.events.Event;
	import fl.transitions.Tween;
	import fl.transitions.easing.*;
	
	public class Enemies extends MovieClip {
		
		var enemyNo:int;
		
		var enemyTimer:Timer = new Timer(100);
		
		var noOfEnemies:int = 18;
		
		var moveArray:Array = new Array();
		
		public function Enemies() {
			addEnemy1();
		}
		
		var e1Array:Array = new Array();
		public function addEnemy1():void {
			for(var i = 0; i < noOfEnemies; i++) {
				var enemy1:Enemy1 = new Enemy1;
				addChild(enemy1);
				e1Array* = enemy1;
				e1Array*.x = 30 * i + 1;
				moveArray* = 0;
				trace(moveArray*);
			}
			enemyTimer.addEventListener(TimerEvent.TIMER, randomSelect);
			enemyTimer.start();
		}
		
		public function randomSelect(event:TimerEvent):void {
			enemyNo = Math.floor(Math.random() * noOfEnemies) + 0;
			this.addEventListener(Event.ENTER_FRAME, moveEnemy);
			this.removeEventListener(TimerEvent.TIMER, randomSelect);
		}
		
		public function moveEnemy(event:Event):void {
			if(moveArray[enemyNo] == 0) {
				moveArray[enemyNo] = 1;
				var myTween1:Tween = new Tween(e1Array[enemyNo], "y", None.easeOut, 0, 400, 3, true);
				e1Array[enemyNo].y = 0;
			}

			if(e1Array[enemyNo].y >= 400) {
				moveArray[enemyNo] = 0;
			}
			
			trace("Enemy No: " + enemyNo + ", Moving: " + moveArray[enemyNo]);
			
			enemyTimer.addEventListener(TimerEvent.TIMER, randomSelect);
			this.removeEventListener(Event.ENTER_FRAME, moveEnemy);
		}
	}
}

```
