the background is tween animated I think I found where the problem concentrates, it has something to do with the shooting of the ink.
The game only slows down if you shoot, the thing I still don't understand is that I created all the shooting particles(200) inside a MC at the start of the game and then control them individually,

This is how I make them

var launcher:Array=new Array();
var launcher_a:Array=new Array();
var launcher_b:Array=new Array();
var launcher_c:Array=new Array();
var launcher_d:Array=new Array();
var changer:int=0;
var bolt_maker:MovieClip=new MovieClip();
for (i=0; i<200; i++) {
bolt_maker=new bolt_obj;
bolt_maker.visible=false;
bolt_pool.addChild(bolt_maker);
launcher.push(bolt_maker);
bolt_maker.y=shooter.y;*/
switch (changer) {
case 0 :
launcher_a.push(bolt_maker);
changer=1;
break;
case 1 :
launcher_b.push(bolt_maker);
changer=2;
break;
case 2 :
launcher_c.push(bolt_maker);
changer=3;
break;
case 3 :
launcher_d.push(bolt_maker);
changer=0;
break;
}
}
This is how I launch them
if (fire) {
launch=false;
if (lead+1<7) {
lead++;
if (activated_a) {
launcher_a[lead].rotation=shooter1.rotation;
launcher_a[lead].x=shooter1.x;
launcher_a[lead].y=shooter1.y;
launcher_a[lead].gotoAndStop(int(Math.random()*31)+1);
launcher_a[lead].transform.colorTransform=color1;
launcher_a[lead].visible=true;
launcher_a[lead].id=1;
shooter1.animator.play();
if (shooter1.currentFrame<37) {
shooter1.gotoAndPlay(38);
}
}
if (activated_b) {
launcher_b[lead].rotation=shooter2.rotation;
launcher_b[lead].x=shooter2.x;
launcher_b[lead].y=shooter2.y;
launcher_b[lead].gotoAndStop(int(Math.random()*31)+1);
launcher_b[lead].transform.colorTransform=color2;
launcher_b[lead].visible=true;
launcher_b[lead].id=2;
shooter2.animator.play();
if (shooter2.currentFrame<37) {
shooter2.gotoAndPlay(38);
}
}
if (activated_c) {
launcher_c[lead].rotation=shooter3.rotation;
launcher_c[lead].x=shooter3.x;
launcher_c[lead].y=shooter3.y;
launcher_c[lead].gotoAndStop(int(Math.random()*31)+1);
launcher_c[lead].transform.colorTransform=color3;
launcher_c[lead].visible=true;
launcher_c[lead].id=3;
shooter3.animator.play();
if (shooter3.currentFrame<37) {
shooter3.gotoAndPlay(38);
}
}
if (activated_d) {
launcher_d[lead].rotation=shooter4.rotation;
launcher_d[lead].x=shooter4.x;
launcher_d[lead].y=shooter4.y;

launcher_d[lead].gotoAndStop(int(Math.random()*31)+1);
launcher_d[lead].transform.colorTransform=color4;
launcher_d[lead].visible=true;
launcher_d[lead].id=4;
shooter4.animator.play();
if (shooter4.currentFrame<37) {
shooter4.gotoAndPlay(38);
}
}
} else {
fire=false;
}
}
The rest is my magnetic algorithm.

This is how the game looks like in frames