Hello! I have 2 bullets and 1 enemy.Each bullet do different damage to the enemy.My code is working like that but when i have on stage multiple enemies the game is getting low.I make something wrong in my code or i draw heavy enemies?
var enemy1Array:Array = new Array();
var shotA:Array=[];
var shotB:Array=[];
var damage:int = 4;
var damage1:int = 2;
for (var f1:int = numChildren - 1; f1 >= 0; f1--)
{
var child1:DisplayObject = getChildAt(f1);
if (child1.name.indexOf("enemy")>-1)
{
enemy1Array.push(MovieClip(child1));
MovieClip(child1).hitPoints=4;
MovieClip(child1).gotoAndStop(+MovieClip(child1).hitPoints);
}
}
stage.addEventListener(Event.ENTER_FRAME,gameloop);
function gameloop(event:Event):void
{
for(var i:int=shotA.length-1;i>=0;i--)
{
shotA.x +=20;
for(var q:int=enemy1Array.length-1;q>=0;q--)
{
if (enemy1Array.hitTestPoint(shotA.x , shotA.y-30))
{
enemy1Array.hitPoints-=damage;
if (enemy1Array.hitPoints <= 0)
{
enemy1Array.parent.removeChild(enemy1Array
);
enemy1Array.splice(q,1);
}
}
}
}
for(var b:int=shotB.length-1;b>=0;b--)
{
shotB.x +=20;
for(var qb:int=enemy1Array.length-1;qb>=0;qb--)
{
if (enemy1Array[qb].hitTestPoint(shotB.x , shotB.y-30))
{
enemy1Array[qb].hitPoints-=damage1;
if (enemy1Array[qb].hitPoints <= 0)
{
enemy1Array[qb].parent.removeChild(enemy1Array[qb]);
enemy1Array.splice(qb,1);
}
}
}
}
}
